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

<p>я хочу использовать шрифт «mgopen modata» в своем приложении для iphone. но я не вижу его в списке шрифтов в инспекторе свойств. </p><p>как включить этот шрифт, чтобы я мог его использовать?</p>

<ol> <li>добавьте файлы шрифтов в ваши файлы ресурсов</li> <li>отредактируйте свой <code>info.plist</code>: добавьте новую запись с ключом <code>fonts provided by application</code>.</li> <li>для каждого из ваших файлов добавьте имя файла в этот массив</li> </ol><p>в приведенном ниже примере я добавил шрифт «dejavu sans mono»:</p><p><img src="https://i.stack.imgur.com/2bcgo.png" alt="info.plist: adding custom fonts"></p><p>в вашем приложении вы можете использовать <code>[uifont fontwithname:@"dejavusansmono-bold" size:14.f]</code>.</p><p>или, если вы хотите использовать его в html/css, просто используйте <code>font-family:dejavu sans mono;</code></p><p><strong> примечание: </strong>это доступно в ios 3.2 и более поздних версиях.</p>

<p>я нашел <a href="http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/">это прохождение</a> был лучшим</p><p>хотя принятый выше ответ работает, я обнаружил, что если вы добавили текст в файл xib, а затем установили новый шрифт, текст не обновился.</p><p>убедитесь, что новый шрифт включен в ресурсы и исправил эту проблему (взято непосредственно из пошагового руководства):</p><p><em>"это не должно быть проблемой, но иногда, когда у вас возникают проблемы с отображением шрифта, это может стать источником головной боли, поэтому давайте дважды проверим, чтобы исключить это как потенциальную ловушку.</em></p><p><em>перейдите на панель проекта build phases, выделив файл проекта xcode в обозревателе решений и в правой части выберите «build phases». вы увидите, что один из разделов, которые вы можете развернуть, это «копировать ресурсы комплекта». откройте этот список и убедитесь, что ваши шрифты включены в этот список. "</em></p><p><img src="https://i.stack.imgur.com/6yrzn.jpg" alt="make sure the fonts are included in our resources"></p><p>другие материалы в пошаговом руководстве - это то же самое (добавьте файл в свой проект и в файл plist)</p><p>все благодарность коду с крисом за этот ответ, который сэкономил мне много времени и усилий, и я просто копирую снимок со своей страницы, чтобы этот ответ встал на ноги, вместо того, чтобы требовать от вас нажатия на ссылку.</p>

<p>я думаю, что для разработчика лучше иметь структуру plist в качестве необработанного исходного кода. я оставляю это для копирования/вставки: </p><pre><code><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> </code></pre><p>скопируйте этот фрагмент и измените ключи строк в массиве до нужных вам шрифтов.<strong> подсказка </strong>: чтобы просмотреть список в виде необработанного исходного кода, нажмите дополнительную кнопку над файлом и выберите<strong> открыть как -> исходный код </strong>.</p><p><strong>правка</strong></p><pre><code>// 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); } } </code></pre><p>после добавления шрифтов может быть полезно добавить (например) класс appdelegate.m, чтобы увидеть, каковы настоящие имена шрифтов (в комплекте). проблема, с которой я сталкивался несколько раз, когда я загружал шрифты с неправильным именем, предполагая, что имя файла шрифта правильное. иногда оно отличается от реального имени пакета ... кроме того, вы можете проверить полное имя файла, используя окно информации о файле (cmd + i) в finder (macos). </p><p><em>пример для уточнения: <br> file name = "droidsansethiopic-regular"<br> обработанное имя в связке = "droid sans ethiopic"</em></p>

<p>большую часть времени мы забываем добавить шрифт в приложение target. убедитесь, что вы не забыли этот важный шаг. правильная панель проверки разума<strong> file inspector> target membership </strong>checkbox.</p><p><img src="https://i.stack.imgur.com/eikb4.jpg" alt="enter image description here"></p><p>также вы можете проверить, хорошо ли добавлен шрифт в ваше приложение или нет, запустив этот фрагмент кода в любом месте вашего приложения.</p><pre><code>for (nsstring* family in [uifont familynames]) { nslog(@"%@", family); for (nsstring* name in [uifont fontnamesforfamilyname: family]) { nslog(@" %@", name); } } </code></pre><p><strong>правка</strong></p><p><strong> альфабетический заказ: </strong></p><pre><code>for (nsstring* family in [[uifont familynames] sortedarrayusingselector:@selector(compare:)]) { nslog(@"%@", family); for (nsstring* name in [[uifont fontnamesforfamilyname:family] sortedarrayusingselector:@selector(compare:)]) { nslog(@" %@", name); } } </code></pre><p>это заполнит список доступных шрифтов в вашем приложении, где также появится добавленный вами шрифт.</p>

<p>не забудьте добавить шрифты к целевым ресурсам пакета компиляции, перейдя в<strong> 'targets' -> 'build phases' -> 'copy bundle resources' </strong>и добавьте все шрифты вручную</p>

<p>в xamarin ios</p><p><strong>шаг 1:</strong> прежде всего, вы должны добавить свой <code>.ttf</code> или <code>.otf</code> файл в ваш проект.</p><p>как <strong>roboto-bolditalic.ttf</strong>.</p><p><strong>шаг 2:</strong> щелкните правой кнопкой мыши шрифт и выберите свойство </p><ol> <li>build action -> содержание</li> <li>скопировать в выходной каталог -> всегда копировать</li> </ol><p><strong>шаг 3:</strong> перейти к <code>info.plist</code></p><p>выберите свойство <code>fonts provided by application</code> и добавьте имя шрифта.</p><p> <a href="https://i.stack.imgur.com/klq9z.png"> <img src="https://i.stack.imgur.com/klq9z.png" alt="enter image description here"> </a> </p><p><strong>шаг 4:</strong></p><p>установить шрифт программно ниже пути</p><pre><code>account.font = uifont.fromname("roboto-bolditalic", 18f); </code></pre>

<h2>его легко и просто - протестировано в xcode 9.2 и swift 4</h2><p><strong>действия по добавлению шрифта в ваш xcode</strong></p><p>выберите свой uilabel, uitextfield или что-то еще в разделе шрифтов и следуйте </p><p><strong>шаг 1</strong></p><p>выберите меню настроек в левом углу экрана выбора шрифта. и выберите вариант диспетчера шрифтов.</p><p> <a href="https://i.stack.imgur.com/0ps3q.png"> <img src="https://i.stack.imgur.com/0ps3q.png" alt="enter image description here"> </a> </p><p><strong>шаг 2</strong> </p><p>нажмите на кнопку добавления, как отмечено ниже.</p><p> <a href="https://i.stack.imgur.com/jl6ql.png"> <img src="https://i.stack.imgur.com/jl6ql.png" alt="enter image description here"> </a> </p><p><strong>шаг 3</strong></p><p>выберите папку с вашим шрифтом. он будет загружен в список шрифтов xcode.</p><p><strong>действия по добавлению шрифтов в ваш проект</strong></p><p>не забудьте добавить описание в свой список с помощью ключа <code>fonts provided by application.</code> и поместить файлы шрифтов в ресурсы комплекта копирования в соответствии с настройками проекта.</p><p>да! вот оно .. приятное.</p>

<p>вы можете использовать метод <code>[uifont fontwithname:@"arialmt" size:14];</code> напрямую, если хотите изменить стиль шрифта. кроме того, все шрифты могут быть недоступны в библиотеке iphone. просто обратитесь к <a href="http://iphonedevwiki.net/index.php/uifont">это</a> для доступных стилей шрифтов.</p>

<p>если у вас есть формат .otf. иногда этот формат не работает. конвертировать формат .otf в .ttf. в сети есть несколько конвертеров шрифтов. как только вы добавите пользовательский шрифт в свой файл .plist в разделе «шрифты», предоставляемые приложением, как описано выше. убедитесь, что в вашем project target в build phase -> copy bundel resourse этот файл присутствует. если нет, то добавьте это . затем просто в своем коде добавьте это [uifont fontwithname: @ "ваш собственный шрифт" размер: ваш выбор размера];</p>