it-swarm.com.ru

Как включить и использовать новые шрифты в iPhone SDK?

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

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

56
meetpd
  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 и более поздних версиях.

144
Jilouc

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

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

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

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

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

Make sure the fonts are included in our resources

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

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

13
simon_smiley

Я думаю, что для разработчика лучше иметь структуру 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>

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

ПРАВКА

// 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). 

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

6
halbano

Большую часть времени мы забываем добавить шрифт в приложение 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);
    }
}

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

6
Vaibhav Saran

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

6
mgm

В Xamarin iOS

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

как Roboto-BoldItalic.ttf.

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

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

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

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

 enter image description here

Шаг 4:

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

account.Font = UIFont.FromName("Roboto-BoldItalic", 18f);
1
Ironman

Его легко и просто - протестировано в Xcode 9.2 и Swift 4

Действия по добавлению шрифта в ваш Xcode

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

Шаг 1

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

 enter image description here

Шаг 2 

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

 enter image description here

Шаг 3

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

Действия по добавлению шрифтов в ваш проект

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

Да! вот оно .. приятное.

0
Saranjith

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

0
Sarah

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

0
GameBegins