Использование шрифтов, которых нет на iPhone - PullRequest
6 голосов
/ 14 июня 2009

Я хотел бы использовать некоторые шрифты, которые не являются частью iPhone OS. Я видел игры, которые используют нестандартные шрифты. Я могу установить шрифты, создавать изображения для каждого в Photoshop, а затем использовать эти изображения в приложении для iPhone. Однако я не думаю, что это практический путь. Если необходимо изменить цвет или оттенок (из-за фона) или размера, мне придется изменить дизайн каждого шрифта, который я использую. Есть ли лучший способ сделать это?

Я прочитал это Можно ли встроить пользовательский шрифт в приложение для iPhone? и загрузить приложение с открытым исходным кодом шрифта. Однако в большинстве случаев происходит сбой, когда я пытаюсь использовать определенные шрифты. Что касается последнего комментария об использовании UIFont с fontWithName: size, это, безусловно, не работает. Ваша переменная шрифта будет ноль. Перечисление всех доступных шрифтов показывает почему - ни один из пользовательских шрифтов в списке отсутствует.

Я также прочитал Как включить шрифт в приложение для iPhone? , которое определенно не работает. То же, что последний комментарий в ссылке выше.

Ответы [ 4 ]

7 голосов
/ 22 апреля 2010

Правильный ответ - использовать FontLabel, который можно найти на GitHub. http://github.com/zynga/FontLabel

Я использовал этот код в нескольких реальных проектах, и это просто фантастика.

UPDATE:

Начиная с iOS 3.2 (только для iPad) и iOS 4 на iPhone, вы можете упаковать шрифты TTF в свой пакет приложений. После ввода их в ваш Info.plist с помощью ключа UIAppFonts.

Три шага здесь: http://kgriff.posterous.com/45359635

3 голосов
/ 04 апреля 2011

Решением является добавление нового свойства "Шрифты, предоставляемые приложением" в ваш файл info.plist.

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

2 голосов
/ 22 октября 2011

Это на самом деле довольно просто.

Вы включаете свой ttf в комплект приложения. Вы добавляете ключ Fonts provided by application / UIAppFonts в свое приложение, это массив имен файлов для включаемых вами шрифтов (включая расширение), например ::

enter image description here

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

self.label.font = [UIFont fontWithName:@"Wingdings" size:23.0f];

Это работает на всех версиях iOS от 3.2, в том числе на iPhone от iOS 4.

0 голосов
/ 13 апреля 2010

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

UIAppFonts (Array - iPhone OS) определяет любые предоставленные приложением шрифты, которые должны быть доступны через обычные механизмы. Каждый элемент в массиве представляет собой строку, содержащую имя файла шрифта (включая расширение имени файла), который находится в комплекте приложения. Система загружает указанные шрифты и делает их доступными для использования приложением при запуске этого приложения.

К сожалению, это работает только в iPhone OS 3.2, которая является версией для iPad. Вполне вероятно, что эта функция будет доступна в будущих выпусках iPhone OS.

Ссылка: http://developer.apple.com/iPhone/library/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW18

(это была единственная публичная документация, которую я мог найти на сайте Apple)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...