2015-12-08 2 views
3

Я следил за этим tutorial, и пользовательский шрифт был показан на моей раскадровке, но когда я выполнил свое приложение (на симуляторе или устройстве), шрифт не отразился. может кто-нибудь помочь. это то, что я сделал:Пользовательский шрифт в IOS не отражен на устройстве

я упускаю что-то?

+2

Убедитесь, что файл шрифта включен в вашу цель: нажмите на него, затем зайдите в Инспектор файлов (первая вкладка на панели справа от окна) и проверьте, есть ли галочку рядом с вашей целью в разделе «Целевое членство». – jcaron

+0

Также проверьте, что вы указали имя файла, а не имя шрифта, в вашем Info.plist. – jcaron

+1

Что делать, если вы делаете NSLog (@ "% @", [UIFont familyNames]) ;? Отображается ли ваше семейство шрифтов в списке? –

ответ

4

Спасибо @ Андрю Чернука и @jcaron. Я решил проблему, установив целевое членство в свой проект, а затем вышел из проекта (чистка не работала по какой-то причине) и возобновление проекта, и все было установлено. имя шрифта появлялось, когда я печатал print (UIFont.familyNames())

0

Вы добавили папку .ttf только для поддержки файлов. Затем Edit info.plist нравится эта

шрифтов обеспечивается применением принимать как массив

Пункт 0 в Heiti SC.ttf

теперь вы можете установить label.font = [UIFont fontWithName:@"Heiti SC" size:15];

Затем необходимо также добавить TTF файл для копирования ресурсов пакета в фазах целевой сборки.

1

Вы просто следуете инструкциям ниже.

Шаг 1 - загрузил файл .ttf и скопировал его в мой проект. Шаг 2 - добавлены «Шрифты, предоставленные приложением» в файле info.plist, и добавлена ​​строка с именем моего пользовательского шрифта.

enter image description here

Шаг 3 - Дисплей добавил существуют шрифты в проект или нет. копировать прошлое в application:didFinishLaunchingWithOptions

NSLog(@"Available fonts: %@", [UIFont familyNames]); 
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]); 
     } 

    } 

Шаг 4 - найти имя вашего шрифта и той же проверки имен в раскадровку.

Это определенно работает.

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