Шрифт ttf недоступен для iPhone в конструкторе интерфейсов или симуляторе - PullRequest
9 голосов
/ 21 декабря 2010

Я добавил файл шрифта (.ttf) в свой проект Xcode, к ресурсам.Кроме того, я добавил его в UIAppFonts в моем info.plist.

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

После установки шрифта в моей системе я начал видеть его в IB, но все же - изменение на него ничего не меняет - некоторые системные шрифты по умолчанию отображаются в Интерфейсном Разработчике, а также в эмуляторе iPhone.

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

Ответы [ 2 ]

17 голосов
/ 22 декабря 2010

Чтобы использовать пользовательские шрифты с iOS, вы должны установить их программно.

Например, предположим, у вас есть файл шрифта swellfont.ttf , который вы добавляете в свой проект.Затем вы перейдете в файл App-Info.plist и добавите полное имя файла в следующий индекс массива с ключом UIAppFonts, как вы упомянули.

<key>UIAppFonts</key>
<array>
    <string>swellfont.ttf</string>
</array>

Затем, чтобы использовать шрифт:

label.font = [UIFont fontWithName:@"swellfont" size:12];

Предполагается, что метка является UILabel и что swellfont.ttf не защищен .Важно отметить, что fontWithName в UIFont не ссылается на имя файла, а на фактическое имя шрифта.Если вы откроете шрифт с помощью FontForge, вы можете увидеть эту информацию, выбрав Элемент> Информация о шрифте в строке меню.Вероятно, есть более умные способы выяснить эту информацию.

0 голосов
/ 02 мая 2012

Я использую 2 шрифта в приложении. Первый был автоматически добавлен в «Копирование комплекта ресурсов», другой - нет. Я должен был добавить это сам.

Позвоните в коде:

[labelName setFont:[UIFont fontWithName:@"OneGreatBigFont" size:40]];
...