Это тема, над которой, похоже, боролись многие другие. Я пытаюсь добавить шрифт Impact в свой проект iOS. Для этого я выполняю следующие шаги:
1. Добавляю файл Impact.ttf в свой проект.
2. Убедитесь, что файл Impact.ttf действительно добавлен в проект Target.
3. Установите флажок «Копировать пакет с ресурсами» на целевых этапах сборки и убедитесь, что файл Impact.ttf включен.
4. В My-Project-Name-Info.plist я добавил «Предоставленные шрифты by application" и установите Impact.ttf как элемент 0 в массиве.
5. Откройте файл шрифта с помощью Font Book и убедитесь, что я ссылаюсь на шрифт по правильному имени. В данном случае Impact — правильное название.
Я использовал следующий фрагмент кода, чтобы увидеть все доступные шрифты в проекте, и «Impact» не входит в их число:
for (NSString *family in [UIFont familyNames]) {
NSLog(@"%@", family);
for (NSString *name in [UIFont fontNamesForFamilyName:family]) {
NSLog(@" %@", name);
}
}
При проверке значения UIFont в следующем фрагменте я получаю ноль.
UIFont *impactFont = [UIFont fontWithName:@"Impact" size:36.0f];
Я четырежды проверил все варианты написания и прошел каждый шаг несколько раз. Я также использовал следующие ресурсы (и многие другие) для устранения проблемы.
- Пользовательский шрифт в iOS не работает
- робот пользовательского шрифта iOS не работает жирным шрифтом
- Распространенные ошибки при добавлении пользовательских шрифтов в приложение для iOS
Обратите внимание: если я открою файл Impact.ttf с книгой шрифтов, он скажет, что шрифт не установлен. Я нажимаю, чтобы установить шрифт, и получаю предупреждение о том, что установлены повторяющиеся шрифты Impact. Чтобы исправить это предупреждение, я нажимаю «Автоматически разрешать дубликаты», и шрифт отображается как установленный. Однако, если я снова открою файл, шрифт будет отображаться как не установленный.
Я не уверен, что шрифт, установленный в Font Book, необходим для его правильного распознавания в моем проекте .
Спасибо большое за помощь! Я знаю, что этот вопрос задавали несколько раз, но я чувствую, что исчерпал все ресурсы и ссылки здесь, на SO и на других сайтах.