Пользовательские шрифты Xcode 4.3
Я пытаюсь использовать этот шрифт в моем проекте, но это не сработает.
Я добавил файл .ttf в свой проект и добавил его имя в MyApp-Info.plist под ключ: Шрифты, предоставленные приложением. Затем я попробовал это:
[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];
Я также проверил, действительно ли имя шрифта является "доской", и это так. Отображаемый шрифт по-прежнему Helvetica, только меньше. Где могла быть проблема?
Заранее спасибо.
Ответы
Ответ 1
Вам нужно использовать имя шрифта, а не имя файла. Имя шрифта находится внутри файла ttf.
Здесь вы можете найти имена шрифтов для iOS: http://iosfonts.com/
Этот код отобразит все ваши имена шрифтов в вашем приложении, поместит их где-нибудь в viewDidLoad на главный контроллер, запустит приложение, а затем в консоли найдет правильное имя для шрифта.
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
}
Обновление.
Вы также можете щелкнуть правой кнопкой мыши файл шрифта в Finder, получить Info и скопировать полное имя. Но это не всегда 100%.
Ответ 2
Ответ на Flinks - удобный инструмент для проверки правильности загрузки ваших шрифтов.
Выполните следующие действия:
[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];
Убедитесь, что ваши шрифты включены в ваш комплект:
- Нажмите на свой проект
- Перейдите к
build phases
- Под
'Copy Bundle Resources'
,
убедитесь, что ваши шрифты включены.
Работал для меня:)
Ответ 3
Xcode 4.3.1 Пользовательский шрифт имеет проблему. Потому что, когда я создаю новый проект и пытаюсь добавить пользовательские шрифты в Xcode 4.2.1, проблем нет.
Я делал несколько раз.
Интересно...
Ответ 4
По моему опыту, не все "все" шрифты совместимы. Большинство работ, но вы столкнетесь с несколькими шрифтами, которые по какой-то причине не будут распознаваться с помощью кода, как бы вы ни старались... Просто голова для всех, у кого есть проблемы, просто попробуйте другой шрифт!
Ответ 5
- Включите свои шрифты в проект XCode.
- Удостоверьтесь, что theyre включен в закладку Target Membership in File Inspector
- Включить шрифт в Название проектa > Фаза сборки > Ресурсы копирования ресурсов
- Включите пользовательские шрифты iOS в свой прикладной слой. Добавьте новую строку под названием "Шрифты, предоставляемые приложением", и укажите в качестве параметра имя и расширение шрифта в качестве параметра.
- Найдите имя шрифта.
- Используйте UIFont и укажите имя шрифта.
UILabel * headingLabel = [[UILabel alloc] initWithFrame: CGRectMake (10, 290, 300, 30)];
headingLabel.text = @ "ДОБРО ПОЖАЛОВАТЬ",
headingLabel.font = [UIFont fontWithName: @ "Arvo" размер: 14.0];
Источник: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/
Ответ 6
Не все шрифты, которые вы импортировали, работают. Просто попробуйте протестировать другой шрифт. Если он работает, то он не распознается Xcode. Просто помните, что это должно быть в вашем файле plist проекта, и оно должно быть расширением, например ".otf" или ".ttf" в plist. А также добавьте его в "Копировать ресурсы Bundle" под цель