Пользовательские шрифты Xcode 4.3 - PullRequest
5 голосов
/ 24 февраля 2012

Я пытаюсь использовать этот шрифт в моем проекте, но он не будет работать. Я добавил файл .ttf в свой проект и добавил его имя в MyApp-Info.plist под ключом: Шрифты, предоставляемые приложением. Тогда я попробовал это:

 [_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];

Я также проверил, действительно ли название шрифта "классная доска". Отображаемый шрифт по-прежнему Helvetica, только меньше. Где может быть проблема? Заранее спасибо.

Ответы [ 6 ]

32 голосов
/ 24 февраля 2012

Вам нужно использовать имя шрифта, а не имя файла.Имя шрифта находится внутри 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%.

24 голосов
/ 26 марта 2012

Flinks answer - удобный инструмент для проверки правильности загрузки шрифтов.

Выполните следующие действия:

[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];

Убедитесь, что ваши шрифты включены в ваш пакет:

  • Нажмите на ваш проект
  • Перейти к build phases
  • Под 'Copy Bundle Resources', убедитесь, что ваши шрифты включены

работал для меня:)

3 голосов
/ 20 марта 2012

Xcode 4.3.1 Пользовательский шрифт имеет проблему. Потому что, когда я создаю новый проект и пытаюсь добавить пользовательские шрифты в Xcode 4.2.1, проблем нет.

Я делал несколько раз. Интересно ...

1 голос
/ 13 сентября 2013

  1. Включите ваши шрифты в ваш проект XCode
  2. Убедитесь, что они включены во вкладку Целевое членство в Инспекторе файлов
  3. Включите ваш шрифт в Имя проекта>Этап сборки> Копировать ресурсы пакета
  4. Включите ваши пользовательские шрифты iOS в список приложений.Добавьте новую строку с именем «Шрифты, предоставляемые приложением» и укажите имя и расширение шрифта в качестве параметра.
  5. Найдите имя шрифта.
  6. Используйте UIFont и укажите имя шрифта.

    UILabel * headingLabel = [[UILabel alloc] initWithFrame: CGRectMake (10, 290, 300, 30)];
    headingLabel.text = @ "WELCOME";
    headingLabel.font= [UIFont fontWithName: @ "Arvo" размер: 14,0];

Источник: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/
1 голос
/ 21 апреля 2013

По моему опыту, не все шрифты совместимы.Большая часть работы, но вы столкнетесь с несколькими шрифтами, которые по какой-то причине не будут распознаваться кодом независимо от того, как сильно вы пытаетесь ... Просто напишите, если у вас есть проблемы, просто попробуйте другой шрифт!

0 голосов
/ 18 марта 2014

Не все шрифты, которые вы импортировали, работают. Просто попробуйте проверить другой шрифт. Если он работает, то он не распознается Xcode. Просто помните, что это должно быть в вашем файле plist проекта, и это должно быть расширение имени, как ".otf" или ".ttf" в plist. А также добавьте его в «Копировать ресурсы комплекта» под target

...