Можно ли встроить пользовательский шрифт в приложение iPhone?

этот вопрос относится к iOS pre-3.2. Начиная с 3.2, эта функциональность легко достижима, используя ответ samvermette ниже, и я изменил принятый ответ (от команды до samvermette), чтобы отразить это. Я не могу отдать должное обоим ответам (кроме upvotes), но они оба хороши.

Я хотел бы, чтобы приложение включало пользовательский шрифт для рендеринга текста, загружать его, а затем использовать его со стандартным UIKit элементы, такие как UILabel. Заключаться в следующем возможно?

я нашел ниже ссылки:

но это потребовало бы, чтобы я сам отображал каждый глиф, что слишком похоже на тяжелую работу, особенно для многострочного текста.

Я также нашел сообщения, которые прямо говорят, что это невозможно, но без оправдание, поэтому я ищу окончательный ответ.


редактировать - не -[UIFont fontWithName:size:] эксперимент

Я скачал Harrowprint.tff (загружено с здесь) и добавил его в каталог моих ресурсов и в проект. Затем я попробовал этот код:

UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20];

что привело к созданию исключения. Просмотр файла TTF в Finder подтвердил, что имя шрифта Harrowprint.


редактировать


редактировать - похоже, что bounty auto-награждает ответ с наибольшим количеством голосов. Интересный. Никто на самом деле не предоставил ответ, который решил вопрос, как задано - решение, которое включает в себя кодирование вашего собственного UILabel подкласс не поддерживает перенос слов, что является важной особенностью для меня, хотя я думаю, что мог бы расширить его для этого.

30 ответов


iOS 3.2 и более поздние версии поддерживают это. Прямо из что нового в iPhone OS 3.2 doc:

Поддержка Пользовательских Шрифтов
Приложения, которые хотят использовать пользовательские шрифты, теперь могут включать эти шрифты в свой пакет приложений и регистрировать эти шрифты в системе, включив ключ UIAppFonts в свою информацию.plist файл. Значение этого ключа представляет собой массив строк, идентифицирующих файлы шрифтов в пакете приложения. Когда система видит ключ, загружает указанные шрифты и делает их доступными для приложения.

после того как шрифты установлены, в Info.plist, вы можете использовать свои пользовательские шрифты как любой другой шрифт В IB или программно.

существует текущая тема на форумах разработчиков Apple:
https://devforums.apple.com/thread/37824 (требуется логин)

и вот отличный и простой 3 шага учебник о том, как достичь этого (сломанный ссылка удалена)

  1. добавьте пользовательские файлы шрифтов в свой проект, используя Xcode в качестве ресурса
  2. добавить ключ к вашему под названием UIAppFonts.
  3. сделайте этот ключ массивом
  4. для каждого шрифта, который у вас есть, введите полное имя файла шрифта (включая расширение) в качестве элементов UIAppFonts массив
  5. сохранить Info.plist
  6. теперь в приложении вы можете просто позвонить [UIFont fontWithName:@"CustomFontName" size:12] чтобы получить пользовательский шрифт с ваш UILabels и UITextViews, etc...

также: убедитесь, что шрифты находятся в ваших ресурсах Copy Bundle.


Edit: начиная с iOS 3.2 эта функция встроена. Если вам нужна поддержка pre-3.2, вы все равно можете использовать это решение.

Я создал простой модуль, который расширяет UILabel и ручками нагрузки .файлы ttf. Я выпустил его opensource под лицензией Apache и поставил его на github здесь.

важные файлы FontLabel.h и FontLabel.m.

он использует часть кода из Genericrich по ответ.

обзор источник здесь.

или

  • скопируйте файл шрифта в resources

  • добавить ключ к вашему Info.plist файл с именем UIAppFonts. ("Шрифты, предоставляемые приложением)

  • сделайте этот ключ массивом

  • для каждого шрифта, который у вас есть, введите полное имя файла шрифта (включая расширение) в качестве элементов в UIAppFonts массив

  • сохранить Info.plist

  • теперь в приложении вы можете просто позвонить [UIFont fontWithName:@"CustomFontName" size:15] чтобы получить пользовательский шрифт для использования с UILabels и UITextViews, etc...

Дополнительные Сведения


существует простой способ использовать пользовательские шрифты в iOS 4.

  1. Добавить файл шрифта (например, Chalkduster.ttf) в ресурсы папка проекта в XCode.
  2. открыть info.plist и добавьте новый ключ под названием UIAppFonts. Тип этого ключа должен быть array.
  3. добавьте свое имя шрифта в этот массив, включая расширение (Chalkduster.ttf).
  4. теперь вы можете использовать [UIFont fontWithName:@"Chalkduster" size:16] в вашей приложение.

к сожалению, IB не позволяет инициализировать метки пользовательскими шрифтами. См.этот вопрос чтобы решить эту проблему. Мое любимое решение-использовать специальные UILabel подкласс:

@implementation CustomFontLabel

- (id)initWithCoder:(NSCoder *)decoder
{
    if (self = [super initWithCoder: decoder])
    {
        [self setFont: [UIFont fontWithName: @"Chalkduster" size: self.font.pointSize]];
    }
    return self;
}

@end

In Info.plist добавьте запись "шрифты, предоставляемые приложением" и включите имена шрифтов в виде строк:

Fonts provided by application
           Item 0        myfontname.ttf
           Item 1        myfontname-bold.ttf
           ...

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

for (NSString *familyName in [UIFont familyNames]) {
    for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
         NSLog(@"%@", fontName);
    }
}

обратите внимание, что имя файла ttf может быть не тем же именем, которое вы используете при установке шрифта для вашей метки (Вы можете использовать код выше, чтобы получить параметр "fontWithName"):

[label setFont:[UIFont fontWithName:@"MyFontName-Regular" size:18]];

edit: этот ответ не действует с iOS3.2; Используйте UIAppFonts

единственный способ, которым я смог успешно загрузить custom UIFonts через частную структуру GraphicsServices.

следующее загрузит все .ttf шрифты в основной комплект приложения:

BOOL GSFontAddFromFile(const char * path);
NSUInteger loadFonts()
{
    NSUInteger newFontCount = 0;
    for (NSString *fontFile in [[NSBundle mainBundle] pathsForResourcesOfType:@"ttf" inDirectory:nil])
        newFontCount += GSFontAddFromFile([fontFile UTF8String]);
    return newFontCount;
}

после загрузки шрифтов их можно использовать так же, как шрифты, предоставляемые Apple:

NSLog(@"Available Font Families: %@", [UIFont familyNames]);
[label setFont:[UIFont fontWithName:@"Consolas" size:20.0f]];

GraphicsServices можно даже загрузить во время выполнения в случае API исчезает в будущем:

#import <dlfcn.h>
NSUInteger loadFonts()
{
    NSUInteger newFontCount = 0;
    NSBundle *frameworkBundle = [NSBundle bundleWithIdentifier:@"com.apple.GraphicsServices"];
    const char *frameworkPath = [[frameworkBundle executablePath] UTF8String];
    if (frameworkPath) {
        void *graphicsServices = dlopen(frameworkPath, RTLD_NOLOAD | RTLD_LAZY);
        if (graphicsServices) {
            BOOL (*GSFontAddFromFile)(const char *) = dlsym(graphicsServices, "GSFontAddFromFile");
            if (GSFontAddFromFile)
                for (NSString *fontFile in [[NSBundle mainBundle] pathsForResourcesOfType:@"ttf" inDirectory:nil])
                    newFontCount += GSFontAddFromFile([fontFile UTF8String]);
        }
    }
    return newFontCount;
}

С iOS 8+ и Xcode 6+ вы можете сделать это легко. Вот шаги:

1) перетащите шрифт в Xcode поддержка папки файлов. Не забудьте отметить свое приложение на добавить в targets. С этого момента вы можете использовать этот шрифт в IB и выберите его из поддона шрифт.

enter image description here

2) чтобы сделать этот шрифт доступным для вашего устройства, откройте info.plist и добавить Fonts provided by application ключ. Он будет содержать элемент 0 ключ, вы необходимо добавить имя шрифта в качестве значения. Имя шрифта может отличаться от имени файла шрифта. Но сначала попробуйте добавить свое имя файла в большинстве случаев этой работы.

enter image description here

если нет, то в этой статье всегда помогал мне.

вот быстрый фрагмент кода из этой статьи, чтобы помочь вам найти свое имя шрифта.

func allFonts(){

   for family in UIFont.familyNames(){

       println(family)


       for name in UIFont.fontNamesForFamilyName(family.description)
       {
           println("  \(name)")
       }

   }

}

редактировать

я хочу сказать, что нужно добавить файлы шрифтов в папку цель построить Фазы, Копия Пакета Ресурсов. Без него, вы не увидите свой шрифт на устройстве. И это может привести к неожиданному поведению.

например, я сталкиваюсь с bug, когда UITextField есть специальный шрифт, но этот шрифт не был в Копия Пакета Ресурсов. И когда я перейду к viewcontroller С textfield, есть задержка около 4 секунд перед viewDidLoad была вызвана функция. Разрешение проблем с шрифтом удалило эту задержку. Итак, рекомендуем проверь дважды. (rdar://20028250) кстати, я не смог воспроизвести ошибку, но я уверен, что проблема была с шрифтом.


Я сделал это так:

загрузить шрифт:

- (void)loadFont{
  // Get the path to our custom font and create a data provider.
  NSString *fontPath = [[NSBundle mainBundle] pathForResource:@"mycustomfont" ofType:@"ttf"]; 
  CGDataProviderRef fontDataProvider = CGDataProviderCreateWithFilename([fontPath UTF8String]);

  // Create the font with the data provider, then release the data provider.
  customFont = CGFontCreateWithDataProvider(fontDataProvider);
  CGDataProviderRelease(fontDataProvider); 
}

Теперь в вашей drawRect:, сделать что-то вроде этого:

-(void)drawRect:(CGRect)rect{
    [super drawRect:rect];
    // Get the context.
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextClearRect(context, rect);
    // Set the customFont to be the font used to draw.
    CGContextSetFont(context, customFont);

    // Set how the context draws the font, what color, how big.
    CGContextSetTextDrawingMode(context, kCGTextFillStroke);
    CGContextSetFillColorWithColor(context, self.fontColor.CGColor);
    UIColor * strokeColor = [UIColor blackColor];
    CGContextSetStrokeColorWithColor(context, strokeColor.CGColor);
    CGContextSetFontSize(context, 48.0f);

    // Create an array of Glyph's the size of text that will be drawn.
    CGGlyph textToPrint[[self.theText length]];

    // Loop through the entire length of the text.
    for (int i = 0; i < [self.theText length]; ++i) {
        // Store each letter in a Glyph and subtract the MagicNumber to get appropriate value.
        textToPrint[i] = [[self.theText uppercaseString] characterAtIndex:i] + 3 - 32;
    }
    CGAffineTransform textTransform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
    CGContextSetTextMatrix(context, textTransform);
    CGContextShowGlyphsAtPoint(context, 20, 50, textToPrint, [self.theText length]);
}

В основном вам нужно сделать некоторую грубую силу, петлю через текст и futzing с магическим числом, чтобы найти свое смещение (здесь, см. меня с помощью 29) в шрифте, но он работает.

кроме того, вы должны убедиться, что шрифт легально внедряемы. Большинство нет, и есть юристы, которые специализируются на таких вещах, так что будьте осторожны.


если вы используете xcode 4.3, вы должны добавить font до Build Phase под Copy Bundle Resources, согласно https://stackoverflow.com/users/1292829/arne в потоке,Пользовательские Шрифты Xcode 4.3. Это сработало для меня, вот шаги, которые я предпринял для пользовательских шрифтов для работы в моем приложении:

  1. добавьте шрифт в свой проект. Я перетащили OTF (или TTF) файлы в новую группу, которую я создал и принял выбор xcode copying the files over to the project folder.
  2. создать UIAppFonts массив с вашими шрифтами, перечисленными как элементы в массиве. Просто names, а не расширение (например,"GothamBold","GothamBold-Italic").
  3. нажмите на кнопку project name путь в верхней части Project Navigator в левой части экрана.
  4. нажмите на кнопку Build Phases вкладка, которая появляется в основной области xcode.
  5. расширить "Copy Bundle Resources" раздел и нажмите на "+" добавить шрифт.
  6. Выберите файл шрифта из файловый навигатор, который открывается при нажатии на "+".
  7. сделайте это для каждого шрифта, который вы должны add to the project.

Да, вы можете включить пользовательские шрифты. См. документацию по UIFont, в частности,fontWithName:size: метод.

1) Убедитесь, что вы включили шрифт в папку ресурсов.

2) "имя" шрифта не обязательно является именем файла.

3) убедитесь, что у вас есть законное право использовать этот шрифт. Включив его в свое приложение, вы также распространяете его, и вы должны иметь на это право.


вот пошаговые инструкции, как это сделать. Нет необходимости в дополнительной библиотеке или специальном кодировании.

http://shang-liang.com/blog/custom-fonts-in-ios4/

большую часть времени проблема заключается в шрифте, а не в методе. Лучший способ сделать это-использовать шрифт, который наверняка будет работать, как verdana или geogia. Затем перейдите к предполагаемому шрифту. Если он не работает, возможно, имя шрифта неправильное, или шрифт не является хорошо сформированным шрифтом.


очень легко добавить новый шрифт в существующее приложение iOS.

вам просто нужно добавить шрифт, например, шрифт.ttf в папку ресурсов.

Откройте приложение info.plist. Добавьте новую строку как "шрифты, предоставляемые приложением" и введите имя шрифта как шрифт.ТЦФ.

и при настройке шрифта сделать как setFont:"corresponding Font Name"

вы можете проверить, добавлен ли ваш шрифт или нет NSArray *check = [UIFont familyNames];.

он возвращает весь шрифт вашего приложения поддержка.


Я бы рекомендовал следовать одному из моих любимых коротких учебников здесь:http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/ откуда эта информация поступает.

Шаг 1-перетащите .ttf или .otf из Finder в ваш проект

Примечание - убедитесь, что нажмите на поле "Добавить в целевые объекты" на вашей главной цели приложения

Drag font files into your project and click to add them to your target

если вы забыл нажать, чтобы добавить его в цель, затем нажмите на файл шрифта в иерархии проекта и на правой боковой панели нажмите на главную цель приложения в Целевые Членские раздел

how to add fonts to app target if you forgot

чтобы убедиться, что ваши шрифты являются частью вашей цели приложения убедитесь, что они появляются в вашем Копия Пакета Ресурсов на Собрать Фаз

how to check resources to see if fonts are part of app target

Шаг 2 - Добавьте имена файлов шрифтов в Plist

перейти к пользовательские целевые свойства iOS в своем Info раздел и добавьте ключ к элементам в этом разделе под названием Fonts provided by application (вы должны увидеть, как он появляется в качестве опции при вводе, и он будет настроен как массив. Нажмите маленькую стрелку, чтобы открыть элементы массива и ввести имена .ttf или .файлы otf, которые вы добавили, чтобы ваше приложение знало, что это файлы шрифтов, которые вы хотите доступно

Примечание-Если ваше приложение аварийно завершает работу сразу после этого шага, проверьте орфографию на элементах, которые вы добавляете здесь

example plist with custom fonts added

Шаг 3-Узнайте имена ваших шрифтов, чтобы вы могли называть их

довольно часто имя шрифта, видимое вашим приложением, отличается от того, что вы думаете, что оно основано на имени файла для этого шрифта, поместите это в свой код и просмотрите журнал, который делает ваше приложение чтобы узнать, какое имя шрифта вызвать в коде

Свифт

for family: String in UIFont.familyNames(){
  print("\(family)")
  for names: String in UIFont.fontNamesForFamilyName(family){
      print("== \(names)")
  }
}

С

for (NSString* family in [UIFont familyNames]){
    NSLog(@"%@", family);
    for (NSString* name in [UIFont fontNamesForFamilyName: family]){
        NSLog(@"  %@", name);
    }
}

ваш журнал должен выглядеть примерно так:

Example of searching log to find font names

Шаг 4-используйте свой новый пользовательский шрифт, используя имя из Шага 3

Свифт

 label.font = UIFont(name: "SourceSansPro-Regular", size: 18)

С

 label.font = [UIFont fontWithName:@"SourceSansPro-Regular" size:18];

найти TTF в finder и"получить информацию". Под заголовком "полное имя:" он дал мне имя, которое я затем использовал с fontWithName (Я просто скопировал и вставил точное название, в данном случае нет.расширение ttf было необходимо).


одно важное замечание: вы должны использовать "имя PostScript", связанное с шрифтом, а не его полное имя или фамилию. Это имя часто может отличаться от обычного имени шрифта.


Он еще не вышел, но следующая версия cocos2d (2d Game framework) будет поддерживать растровые шрифты переменной длины в качестве символьных карт.

http://code.google.com/p/cocos2d-iphone/issues/detail?id=317

У автора нет прибитой даты выпуска для этой версии, но я видел сообщение, в котором указывалось, что это будет в следующем месяце или двух.


следуйте этому шагу

1) скопируйте шрифт в свой проект

2)Открыть свой в режиме исходного кода...(Примечание-не открывать info.plist)

3) перед этим-щелкните правой кнопкой мыши на вашем шрифте и откройте его в fontforge или аналогичном редакторе и install это в вашей системе ,он должен быть!--4-->

4)тип это

 <key>UIAppFonts</key>
<array>
    <string>MyriadPro.otf</string>
</array>

5)введите этот код в ваш class .m

 [lblPoints setFont:[UIFont fontWithName:@"Myriad Pro" size:15.0]];

здесь lblPoints будет меняться с вашего UILabel

готово!! Если ваш шрифт все еще не работает, сначала проверьте совместимость шрифтов


может быть, автор забыл дать шрифт Mac FOND name?

  1. откройте шрифт в компьютеров затем перейдите в элемент>информация о шрифте
  2. существует опция" Mac", где вы можете установить имя FOND.
  3. в разделе Файл>Экспорт шрифта вы можете создать новый ttf

вы также можете попробовать опцию "Apple" в диалоговом окне экспорта.

отказ от ответственности: я не разработчик IPhone!


Я объединил некоторые советы на этой странице в то, что работает для меня в iOS 5.

во-первых, вы должны добавить пользовательский шрифт в ваш проект. Затем вам нужно последовать совету @iPhoneDev и добавить шрифт в свою информацию.plist файл.

после того, как вы это сделаете, это работает:

UIFont *yourCustomFont = [UIFont fontWithName:@"YOUR-CUSTOM-FONT-POSTSCRIPT-NAME" size:14.0];
[yourUILabel setFont:yourCustomFont];

однако вам нужно знать имя Postscript вашего шрифта. Просто следуйте советам @ Daniel Wood и нажмите command-i, пока вы находитесь в Названием fontbook.

затем наслаждайтесь пользовательским шрифтом.


Сначала добавьте шрифт .формат odt для ваших ресурсов, в этом случае мы будем использовать DINEngschriftStd.otf, затем используйте этот код, чтобы назначить шрифт метке

[theUILabel setFont:[UIFont fontWithName:@"DINEngschriftStd" size:21]];

чтобы убедиться, что ваш шрифт загружен в проект, просто позвоните

NSLog(@"Available Font Families: %@", [UIFont familyNames]);

на .plist вы должны объявить шрифт. Просто добавьте запись "шрифты, предоставляемые приложением" и добавьте строку элемента 0 с именем шрифта (DINEngschriftStd.otf)


для iOS 3.2 и выше: Используйте методы, предусмотренные несколькими выше, которые являются:

  1. Добавить файл шрифта (например, Chalkduster.ttf) в папку ресурсов проекта в XCode.
  2. открытая информация.plist и добавить новый ключ под названием UIAppFonts. Тип этого ключа должен быть array.
  3. добавьте свое имя шрифта в этот массив, включая расширение ("Chalkduster.ttf").
  4. использовать [UIFont fontWithName:@"Real Font Name" size:16] в вашей приложение.

но "Настоящее имя шрифта" не всегда тот, который вы видите в Fontbook. Лучший способ-спросить ваше устройство, какие шрифты он видит и каковы точные имена.

Я использую uifont-name-grabber, размещенный на: uifont-имя-граббер

просто поместите шрифты, которые вы хотите в проект xcode, добавьте имя файла в его plist и запустите его на устройстве, для которого вы создаете, он отправит вам полный список шрифтов, используя имена, которые UIFont fontWithName: ожидает.


Я пробовал различные предложения на этой странице и на iOS 3.1.2 и вот мои выводы:

просто используя [UIFont fontWithName:size:] со шрифтами в каталоге ресурсов не будет работать, даже если имя FOND задано с помощью FontForge.

[UIFont fontWithName:size:] будет работать, если шрифты загружаются сначала с помощью GSFontAddFromFile. Но!--2--> не является частью iOS 3.1.2, поэтому он должен быть динамически загружен, как описано @rpetrich.


лучшее решение-добавить новое свойство"Fonts provided by application" на .

затем вы можете использовать свой собственный шрифт, как обычно UIFont.


посмотреть ATSApplicationFontsPath

простая запись plist, которая позволяет включать файлы шрифтов в папку ресурсов приложения, и они "просто работают" в вашем приложении.


существует новый способ использования пользовательских шрифтов, начиная с iOS 4.1. Он позволяет загружать шрифты динамически, будь то из файлов, включенных в приложение, загруженных данных или что у вас есть. Он также позволяет загружать шрифты по мере необходимости, в то время как старый метод загружает их все во время запуска приложения, что может занять слишком много времени, если у вас много шрифтов.

новый метод описан в прошивкой-Динамический-шрифт-загрузка

использовать


вы можете добавить необходимые файлы "шрифт" в папке ресурсов. Затем перейдите к проекту Info.plist file и используйте ключ " шрифты, предоставляемые приложением "и значение как"имя шрифта".

затем вы можете вызвать метод [UIFont fontwithName:@"FONT NAME" size:12];


Swift, code way: (работает также с swift 2.0)

добавьте необходимые шрифты в свой проект (так же, как добавление изображений, просто перетащите в Xcode), убедитесь, что они предназначены для вашего проекта
добавьте этот метод и загрузите пользовательские шрифты (рекомендуется в appDelegate didFinishLaunchingWithOptions)

func loadFont(filePath: String) {

    let fontData = NSData(contentsOfFile: filePath)!

    let dataProvider = CGDataProviderCreateWithCFData(fontData)
    let cgFont = CGFontCreateWithDataProvider(dataProvider)!

    var error: Unmanaged<CFError>?
    if !CTFontManagerRegisterGraphicsFont(cgFont, &error) {
        let errorDescription: CFStringRef = CFErrorCopyDescription(error!.takeUnretainedValue())
        print("Unable to load font: %@", errorDescription, terminator: "")
    }

}

пример использования:

if let fontPath = NSBundle.mainBundle().pathForResource("My-Font", ofType: "ttf"){
      loadFont(fontPath)
}

использовать шрифт:

UIFont(name: "My-Font", size: 16.5)

Я сделал все возможное, но новые шрифты не появляются, поэтому я нашел решение:

при перетаскивании файлов fot (otf или ttf) не забудьте установить флажок в разделе "Добавить в целевые объекты".

после этого появится ваш шрифт, и все будет работать нормально.


хотя некоторые из ответов выше верны, я написал подробный визуальный учебник для людей, все еще имеющих проблемы со шрифтами.

решения выше, которые говорят вам добавить шрифт в plist и использовать

[self.labelOutlet setFont:[UIFont fontWithName:@"Sathu" size:10]];

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

использование пользовательских шрифтов в ios применение


да, вы можете использовать пользовательский шрифт в приложении

шаг за шагом, есть следующие:

добавьте пользовательские файлы шрифтов в проект в разделе Поддержка файлов

добавить ключ к вашей информации.файл plist называется UIAppFonts.

сделайте этот ключ массивом

для каждого шрифта, который у вас есть, введите полное имя файла шрифта (включая расширение) в качестве элементов массива UIAppFonts

Сохранить Данные.plist теперь в вашем приложении вы можно просто вызвать [uifont fontWithName:@" ваше имя пользовательского шрифта " размер: 20], чтобы получить пользовательский шрифт для использования с вашими UILabels после применения этого, если вы не получаете правильный шрифт, то вы дважды щелкните по пользовательскому шрифту и внимательно посмотрите имя шрифта верхней стороны и скопируйте этот шрифт, вставьте здесь [uifont fontWithName:@ "здесь мимо вашего пользовательского имени шрифта" размер:20]

надеюсь, вы получите правильный ответ


да, вы можете использовать пользовательский шрифт в приложении

шаг за шагом, есть следующие:

  • добавить пользовательские файлы шрифтов в проект в разделе Поддержка файлов
  • добавить ключ к вашему Info.plist файл с именем UIAppFonts.
  • сделайте этот ключ массивом
  • для каждого шрифта, который у вас есть, введите полное имя файла шрифта (включая расширение) в качестве элементов массива UIAppFonts
  • сохранить Info.plist Теперь в твоем приложение вы можете просто позвонить [UIFont fontWithName:@"your Custom font Name" size:20] чтобы получить пользовательский шрифт для использования с UILabels

после применения этого, если вы не получаете правильный шрифт затем вы дважды щелкните по пользовательскому шрифту и внимательно посмотрите имя шрифта верхней стороны и скопируйте этот шрифт, вставьте, здесь [UIFont fontWithName:@" here past your Custom font Name" size:20] надеюсь, вы получите правильный ответ