Установите жирный шрифт на NSString iOS

Я импортировал 2 файла шрифтов в свою группу ресурсов в своем проекте, а также добавил их в свой файл plist:

pt-sans.narrow-bold.ttf и PT_Sans-Narrow-Web-Bold.ttf

Я хочу установить полужирный шрифт для строки с атрибутами, но он не может найти мои шрифты, я получаю эту ошибку:

(UIFont*) nil

Вот как я устанавливаю шрифт:

UIFont *font_bold=[UIFont fontWithName:@"PT Sans Narrow Bold" size:14.0f];

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


person Monicka    schedule 18.09.2015    source источник
comment
Может стоит написать [UIFont fontWithName:@"PT_Sans-Narrow-Web-Bold" size:14.0f]; ?   -  person mkz    schedule 18.09.2015
comment
имя шрифта было неправильным, я перечислил все доступные шрифты в своем приложении, и проблема решена   -  person Monicka    schedule 19.09.2015


Ответы (2)


Вы можете проверить доступность шрифта, добавив это в свой didFinishLaunchingWithOptions.

    NSArray *fontFamilies = [UIFont familyNames];

for (int i = 0; i < [fontFamilies count]; i++)
{
    NSString *fontFamily = [fontFamilies objectAtIndex:i];
    NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
    NSLog (@"%@: %@", fontFamily, fontNames);
}

и, как сказал @ mikle94, заглавные буквы, вероятно, ваша проблема.

person Augie    schedule 18.09.2015
comment
привет, ваш ответ помог мне найти решение, я приму ваш ответ, но я также напишу подробное объяснение, как я решил свою проблему. - person Monicka; 18.09.2015

В тех случаях, когда мы хотим использовать шрифты в нашем приложении, которых еще нет, мы должны обратить внимание на несколько вещей, чтобы не делать ту же ошибку, что и я, и после этого задаться вопросом: «Что не так, мой код отлично написано».

  1. Скопируйте шрифт в формате .otf или .ttf в свой проект.

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

  3. Проверьте свою цель -> Фазы сборки -> Копировать ресурсы пакета. Если вы не видите там своего шрифта, добавьте его.

  4. Очень важно: перечислите доступные шрифты, чтобы проверить правильные названия, которые вы можете использовать в своем приложении:

    NSArray *fontFamilies = [UIFont familyNames];
    for (int i = 0; i < [fontFamilies count]; i++)
    {
       NSString *fontFamily = [fontFamilies objectAtIndex:i];
       NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies   objectAtIndex:i]];
      NSLog (@"%@: %@", fontFamily, fontNames);
    }
    

Найдите нужный шрифт и установите его следующим образом:

UIFont *customFont = [UIFont fontWithName:@"PTSans-NarrowBold" size:20];
person Monicka    schedule 18.09.2015