Как включить и использовать новые шрифты в iPhone SDK? - PullRequest
57 голосов
/ 11 февраля 2011

Я хочу использовать шрифт «MgOpen Modata» в своем приложении для iPhone. Но я не вижу его в списке шрифтов в инспекторе свойств.

Как включить этот шрифт, чтобы я мог его использовать?

Ответы [ 9 ]

146 голосов
/ 11 февраля 2011
  1. Добавить файлы шрифтов в файлы ресурсов
  2. Отредактируйте Info.plist: добавьте новую запись с ключом Fonts provided by application.
  3. Для каждого из ваших файлов добавьте имя файла в этот массив

В приведенном ниже примере я добавил шрифт "DejaVu Sans Mono":

Info.plist: adding custom fonts

В вашем приложении вы можете использовать [UIFont fontWithName:@"DejaVuSansMono-Bold" size:14.f].

Или, если вы хотите использовать его в html / css, просто используйте font-family:DejaVu Sans Mono;

Примечание: доступно в iOS 3.2 и более поздних версиях.

13 голосов
/ 13 октября 2014

Я нашел это прохождение было лучшим

Хотя принятый выше ответ работает, я обнаружил, что если вы добавили текст в файл XIB, а затем задали новый шрифт, текст не обновился.

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

"Это не должно быть проблемой, но иногда, когда у вас возникают проблемы с отображением шрифта, это может стать источником головной боли, поэтому давайте проверим это сейчас, чтобы исключить его как потенциальную ловушку.

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

Make sure the fonts are included in our resources

Другие материалы в пошаговом руководстве аналогичны (добавьте файл в свой проект и в файл plist)

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

6 голосов
/ 23 октября 2015

Я думаю, что для разработчика лучше иметь структуру plist в качестве необработанного исходного кода. Я оставляю это для копирования / вставки:

<key>UIAppFonts</key>
    <array>
        <string>Roboto-BoldItalic.ttf</string>
        <string>Roboto-Medium.ttf</string>
        <string>Roboto-MediumItalic.ttf</string>
        <string>Roboto-Regular.ttf</string>
        <string>Roboto-Bold.ttf</string>
    </array>

Скопируйте этот фрагмент и измените ключи строк в массиве до нужных вам шрифтов. Подсказка : Чтобы просмотреть список в виде необработанного исходного кода, нажмите дополнительную кнопку над файлом и выберите Открыть как -> Исходный код .

EDIT

// Logs fonts ordered by name
    for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
    {
        NSLog(@"%@", family);

        for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
        {
            NSLog(@"  %@", name);
        }
    }

После добавления шрифтов может быть полезно добавить (например) класс AppDelegate.m, чтобы увидеть, каковы настоящие имена шрифтов (в комплекте). Проблема, с которой я сталкивался несколько раз, когда я загружал шрифты с неправильным именем, предполагая, что имя файла шрифта правильное. Иногда оно отличается от настоящего названия комплекта. В дополнение к этому вы можете проверить полное имя файла, используя окно информации о файле (cmd + i) в Finder (macOS).

Пример для уточнения:
Имя файла = "DroidSansEthiopic-Regular"
Обработанное имя в связке = "Droid Sans Ethiopic"

6 голосов
/ 18 декабря 2014

Не забудьте добавить шрифты к целевым ресурсам пакета компиляции, перейдя в 'Targets' -> 'Build Phases' -> 'Copy Bundle Resources' и добавьте все шрифты вручную

6 голосов
/ 25 ноября 2014

Большую часть времени мы забываем добавить шрифт в приложение Target.Убедитесь, что вы не забыли этот важный шаг.Проверка правильности правой панели File Inspector> Target Membership checkbox.

enter image description here

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

for (NSString* family in [UIFont familyNames])
{
    NSLog(@"%@", family);

    for (NSString* name in [UIFont fontNamesForFamilyName: family])
    {
        NSLog(@"  %@", name);
    }
}

РЕДАКТИРОВАТЬ

АЛФАВИТИЧЕСКИЙ ЗАКАЗ:

for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
{
    NSLog(@"%@", family);

    for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
    {
        NSLog(@"  %@", name);
    }
}

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

1 голос
/ 18 марта 2017

В Xamarin iOS

Шаг 1: Прежде всего вам необходимо добавить файл .ttf или .otf в ваш проект.

как Roboto-BoldItalic.ttf .

Шаг 2: Щелкните правой кнопкой мыши шрифт и выберите свойство

  1. Действие сборки -> Содержимое
  2. Копировать в выходной каталог -> Всегда копировать

Шаг 3: перейти к info.plist

выбрать свойство Fonts provided by application и добавитьимя шрифта.

enter image description here

Шаг 4:

установить шрифт программно ниже пути

account.Font = UIFont.FromName("Roboto-BoldItalic", 18f);
0 голосов
/ 22 февраля 2018

Это легко и просто сейчас - протестировано в Xcode 9.2 и быстро 4

Шаги, чтобы добавить шрифт к вашему Xcode

Выберите UILabel, UITextField или что-то еще враздел шрифтов и следуйте

Шаг 1

Выберите меню настроек в левом углу экрана выбора шрифта.И выберите вариант диспетчера шрифтов.

enter image description here

Шаг 2

Нажмите кнопку добавления, как отмечено ниже.

enter image description here

Шаг 3

Выберите папку с вашим шрифтом.Он будет загружен в список шрифтов XCode.

Шаги для добавления шрифтов в ваш проект

Не забудьте добавить описание в свой список с помощью ключа Fonts provided by application.и поместите файлы шрифтов в ресурсы комплекта копий в настройках проекта.

Да!вот и все .. njoy ..

0 голосов
/ 05 марта 2014

Если у вас есть формат .otf. иногда этот формат не работает. Конвертировать формат .otf в .ttf. Есть куча конвертер шрифтов онлайн. После того, как вы добавите пользовательский шрифт в свой файл .plist в разделе Шрифты, предоставленные приложением, как описано выше. Убедитесь, что в вашем Project Target в Build Phase -> copy Bundel Resourse этот файл присутствует. Если нет, то добавьте его. Затем просто в своем коде добавьте этот [UIFont fontWithName: @ "ваш собственный шрифт" размер: ваш выбор размера];

0 голосов
/ 11 февраля 2011

Вы можете использовать метод [UIFont fontWithName:@"ArialMT" size:14]; напрямую, если хотите изменить стиль шрифта. Также все шрифты могут быть недоступны в библиотеке iphone. Просто обратитесь к this для доступных стилей шрифтов.

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