Я бы порекомендовал следовать одному из моих любимых коротких руководств здесь: 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](https://i.stack.imgur.com/U611W.png)
Если вы забыли щелкнуть, чтобы добавить его к своей цели, затем щелкните файл шрифта в иерархии проекта и на правой боковой панели щелкните цель основного приложения в разделе Целевое членство
![how to add fonts to app target if you forgot](https://i.stack.imgur.com/PhI5I.png)
Чтобы убедиться, что ваши шрифты являются частью цели вашего приложения, убедитесь, что они отображаются в ваших ресурсах набора копий в Фазах сборки
![how to check resources to see if fonts are part of app target](https://i.stack.imgur.com/awWkY.png)
Шаг 2 - Добавьте имена файлов шрифтов в свой Plist
Перейдите в Пользовательские целевые свойства iOS в своем Info разделе и добавьте ключ к элементам в этом разделе под названием Fonts provided by application
(вы должны увидеть, что он появляется как опция когда вы набираете его, он становится массивом. Нажмите маленькую стрелку, чтобы открыть элементы массива, и введите имена добавленных вами файлов .ttf или .otf, чтобы приложение знало, что это шрифт. нужные вам файлы
ПРИМЕЧАНИЕ. - Если сразу после этого шага произойдет сбой приложения, проверьте правильность написания добавленных здесь элементов
![example plist with custom fonts added](https://i.stack.imgur.com/kiVl8.png)
Шаг 3 - Узнайте названия ваших шрифтов, чтобы вы могли называть их
Довольно часто имя шрифта, видимое вашим приложением, отличается от того, что вы думаете, оно основано на имени файла для этого шрифта, вставьте это в свой код и просмотрите журнал, который ваше приложение делает, чтобы увидеть, какое имя шрифта вызывать в вашем приложении. код
Swift
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);
}
}
Ваш журнал должен выглядеть примерно так:
![Example of searching log to find font names](https://i.stack.imgur.com/bR2xl.png)
Шаг 4 - Используйте новый пользовательский шрифт, используя имя из шага 3
Swift
label.font = UIFont(name: "SourceSansPro-Regular", size: 18)
Цель C
label.font = [UIFont fontWithName:@"SourceSansPro-Regular" size:18];