2009-02-19 2 views
7

Я уже видел этот пост:Как включить шрифт в приложение для iPhone?

Can I embed a custom font in an iPhone application?

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

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

Некоторые люди сообщали это возможно, но это не работает для меня. Может кто-нибудь подтвердить, как связать пользовательский шрифт с приложением iphone?

Кроме того, в вышеупомянутом сообщении отмечается один ответ: «Имя» шрифта необязательно является именем файла.

Как определить «имя» шрифта, который будет распознан UIFont? Возможно, я не использую правильное имя.

ответ

13

Есть несколько шагов, которые необходимо предпринять:

1) Убедитесь, что у вас есть права на распространение шрифта. Большинство шрифтов - даже бесплатные - не позволяют вам распространять их. Поместить их в ваше приложение, скорее всего, будет «распространение» и будет считаться незаконным.

2) Скопируйте шрифт в папку «Ресурсы» в приложении. Убедитесь, что он находится в фазе сборки файлов Copy Files.

3) Добавить «Шрифты, предусмотренные приложением» ключ к файлу Plist, и добавьте полное имя файла шрифта (включая расширение)

4) Получить «имя» шрифта, поместив временная строка кода:

NSLog(@"%@",[UIFont familyNames]); 

Создайте и запустите приложение. Это будет печатать на консоли имена семейств всех шрифтов на устройстве. Найдите ту, которая соответствует вашему шрифту.

Затем вы можете использовать это имя шрифта в методе fontWithName:.

+0

Вы уверены, что это правильно? Я пытался это сделать, и все, что у меня было, было обычным списком шрифтов. –

+0

Правильно - он печатает только имя стандартных шрифтов. Нестандартные. – 4thSpace

+0

Это не работает. –

5

Чтобы добавить ответ на август выше, вам нужно добавить ключ «Шрифты, предоставляемые приложением» в файл plist, и добавить полное имя файла шрифта (включая расширение). Затем шрифт появится в семейной распечатке, и вы можете использовать это имя для установки шрифта.

+0

Будьте внимательны при обращении к другим ответам. Не используйте слова, как указано выше, ниже, предыдущий или следующий, так как порядок ответов может измениться из-за голосования, принятых ответов и пользовательских настроек. Я отредактировал вашу точку в ответе @ Августа. – rjmunro

Смежные вопросы