2012-02-24 5 views
5

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

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

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

+0

У меня возникла проблема с переходом на Xcode 4.3. Независимо от того, что я делаю, пользовательские шрифты не устанавливаются. –

ответ

32

Вам нужно использовать имя шрифта, а не имя файла. Имя шрифта находится внутри файла ttf.

Вы можете найти имена шрифтов для прошивки здесь: 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, получить информацию и скопировать полное имя. Но это не всегда 100%.

+0

Как я уже сказал, я использовал имя шрифта, которое я прочитал, когда открыл шрифт, и он не работал. К сожалению (попробуйте открыть ссылку) шрифт классной доски, который я использовал, не тот, который установлен на iOs .. – Lolloz89

+0

Вы пробовали [_titleLabel setFont: [UIFont fontWithName: @ "Chalkboard-Regular" size: _titleLabel.font.pointSize]] ; – Shmidt

+0

Не работает тоже .. – Lolloz89

3

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

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

24

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

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

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

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

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

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

+0

Спасибо за этот ответ ame. Это был «недостающий шаг», который я искал. ;-) –

+0

Я искал ответ на это целую вечность! Это было «Копирование ресурсов Bundle», которое меня доставало! Спасибо! –

+0

Счастлив, что я мог бы помочь :) – Arne

1

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

+0

Я думал, что столкнулся с одним, когда попытался добавить Bitstream Vera Sans Mono. Оказывается, вышеприведенные шаги отлично подходят для добавления шрифта в приложение. Я показываю отлично в UITableView, но он не работает как выбор шрифта для drawInRect. – JScarry

1

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

    UILabel * headingLabel = [[UILabel alloc] initWithFrame: CGRectMake (10, 290, 300, 30)];
    headingLabel.text = @ "ДОБРО ПОЖАЛОВАТЬ";
    headingLabel.font = [UIFont fontWithName: @ "Arvo" size: 14.0];

Источник: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

0

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

Смежные вопросы