Подтвердить что ты не робот

Могу ли я встроить собственный шрифт в приложение iPhone?

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Ответ 2

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

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

Важными файлами являются FontLabel.h и FontLabel.m.

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

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

ИЛИ ЖЕ

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

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

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

  • Для каждого имеющегося шрифта введите полное имя файла шрифта (включая расширение) в качестве элементов массива UIAppFonts.

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

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

Для дополнительной информации

Ответ 3

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

  • Добавьте файл шрифта (например, Chalkduster.ttf) в папку Ресурсы проекта в XCode.
  • Откройте info.plist и добавьте новый ключ с именем UIAppFonts. Тип этого ключа должен быть массивом.
  • Добавьте собственное имя шрифта в этот массив, включая расширение (Chalkduster.ttf).
  • Теперь вы можете использовать [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

Ответ 4

В 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]];

Ответ 5

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

Единственный способ, с помощью которого я смог успешно загрузить пользовательский UIFont, - через частную инфраструктуру 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;
}

Ответ 6

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

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

enter image description here

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

enter image description here

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

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

func allFonts(){

   for family in UIFont.familyNames(){

       println(family)


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

   }

}

РЕДАКТИРОВАТЬ

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

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

Ответ 7

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

Загрузите шрифт:

- (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 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]);
}

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

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

Ответ 8

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

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

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

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

Ответ 9

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

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

Ответ 10

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

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

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

Ответ 11

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

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

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

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

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

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

Ответ 12

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

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

ПРИМЕЧАНИЕ. Обязательно нажмите на поле "Добавить в целевые объекты" в главной цели приложения.

Перетащите файлы шрифтов в свой проект и нажмите, чтобы добавить их в свою цель

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

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

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

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

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

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

ПРИМЕЧАНИЕ. Если ваше приложение выходит из строя сразу после этого шага, то проверьте свое правописание на элементы, которые вы добавляете здесь.

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

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

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

Свифта

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

Цель C

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

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

Пример поиска журнала для поиска имен шрифтов

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

Свифта

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

Цель C

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

Ответ 13

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

Ответ 14

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

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

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

Ответ 15

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

Ответ 16

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

  • Откройте шрифт в FontForge, затем перейдите в Element > Font Info
  • Существует опция "Mac", где вы можете установить имя FOND.
  • В разделе "Файл" > "Экспорт шрифта" вы можете создать новый ttf

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

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не разработчик IPhone!

Ответ 17

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

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

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

Ответ 18

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

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

2) откройте файл .plist в режиме исходного кода... (Note- Не открывайте info.plist)

3) До этого - щелкните правой кнопкой мыши на свой шрифт и откройте его в fontforge или аналогичном редакторе и install его в свою систему. Он должен быть install

4) Введите это

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

5) Введите этот код в свой class.m

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

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

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

Ответ 19

Посмотрите ATSApplicationFontsPath

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

Ответ 20

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

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

Ответ 21

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

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

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

Я использую uifont-name-grabber, отправленный по адресу: uifont-name-grabber

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

Ответ 22

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

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

После этого это работает:

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

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

Затем воспользуйтесь специальным шрифтом.

Ответ 23

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

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

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

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

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

Ответ 24

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

Новый метод описан в ios-dynamic-font-loading

Вы используете функцию CTFontManagerRegisterGraphicsFont, предоставляя ей буфер с данными вашего шрифта. Затем он доступен для UIFont и веб-представлений, как и для старого метода. Здесь пример кода из этой ссылки:

NSData *inData = /* your font-file data */;
CFErrorRef error;
CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)inData);
CGFontRef font = CGFontCreateWithDataProvider(provider);
if (! CTFontManagerRegisterGraphicsFont(font, &error)) {
    CFStringRef errorDescription = CFErrorCopyDescription(error)
    NSLog(@"Failed to load font: %@", errorDescription);
    CFRelease(errorDescription);
}
CFRelease(font);
CFRelease(provider);

Ответ 25

Swift, code way: (работает также с быстрым 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)

Ответ 26

Вы можете добавить необходимые файлы "FONT" в папку ресурсов. Затем перейдите в файл Project Info.plist и используйте KEY "Шрифты, предоставляемые приложением", и значение "FONT NAME".

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

Ответ 27

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

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

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

Ответ 28

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

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

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

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

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

Ответ 29

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

шаг за шагом после этого:

  • Добавьте свои собственные файлы шрифтов в свой проект в файлы поддержки
  • Добавьте ключ в свой файл 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] Я надеюсь, что вы получите правильный ответ

Ответ 30

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

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

Добавьте ваши собственные файлы шрифтов в ваш проект в поддержку файлов

Добавьте ключ в свой файл Info.plist с именем UIAppFonts.

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

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

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

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