Пользовательские шрифты Xcode 4.3
Я пытаюсь использовать этот шрифт в своем проекте, но он не будет работать. Я добавил файл.ttf в свой проект и добавил его имя в MyApp-Info.plist под ключом: Шрифты, предоставляемые приложением. Тогда я попробовал это:
[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];
Я также проверил, действительно ли название шрифта "классная доска", и это так. Отображаемый шрифт по-прежнему Helvetica, только меньше. Где может быть проблема? Заранее спасибо.
6 ответов
Вам нужно использовать имя шрифта, а не имя файла. Название шрифта находится внутри файла 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]);
}
}
Upd.
Вы также можете щелкнуть правой кнопкой мыши на файле шрифта в Finder, получить информацию и скопировать полное имя. Но это не всегда 100%.
Flinks answer - это удобный инструмент для проверки правильности загрузки шрифтов.
Сделайте следующее:
[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];
Убедитесь, что ваши шрифты включены в ваш пакет:
- Нажмите на свой проект
- Идти к
build phases
- Под
'Copy Bundle Resources'
убедитесь, что ваши шрифты включены
Работал для меня:)
Xcode 4.3.1 Пользовательский шрифт имеет проблемы. Потому что, когда я создаю новый проект и пытаюсь добавить пользовательские шрифты в Xcode 4.2.1, проблем нет.
Я сделал несколько раз. Интересно...
- Включите ваши шрифты в ваш проект XCode
- Убедитесь, что они включены в целевое членство на вкладке "Инспектор файлов".
- Включите ваш шрифт в Имя проекта> Фаза сборки> Копировать ресурсы комплекта
- Включите ваши пользовательские шрифты iOS в список приложений. Добавьте новую строку под названием "Шрифты, предоставляемые приложением" и укажите имя и расширение шрифта в качестве параметра.
- Найдите название шрифта.
- Используйте UIFont и укажите название шрифта.
UILabel * headingLabel = [[UILabel alloc] initWithFrame: CGRectMake (10, 290, 300, 30)];
headingLabel.text = @ "WELCOME";
headingLabel.font = [UIFont fontWithName: @ "Arvo" size: 14.0];
Мой опыт показывает, что не все шрифты совместимы. Большая часть работы, но вы столкнетесь с несколькими шрифтами, которые по какой-то причине не будут распознаваться кодом независимо от того, как сильно вы пытаетесь... Просто напишите, если у вас есть проблемы, просто попробуйте другой шрифт!
Не все шрифты, которые вы импортировали, работают. Просто попробуйте проверить другой шрифт. Если он работает, то он не распознается Xcode. Просто помните, что он должен быть в файле plist вашего проекта, и это должно быть расширение, например, ".otf" или ".ttf" в plist. А также добавьте его в "Копировать ресурсы пакета" под целевой