Не могу использовать собственный шрифт в приложении iOS

Я пытаюсь использовать собственный шрифт для своего приложения для iOS. Вот что я делаю

Я добавил свой собственный шрифт (m.tff) в каталог файлов поддержки Xcode. Также я создаю запись под названием Fonts, предоставленную приложением, со значением name шрифта (m.tff) в myApp.plist

На мой взгляд, у меня есть ярлык

UILabel *label = [[UILabel alloc]initWithFrame:CGRect(10, 20, 230, 30)];
label.font = [UIFont fontWithName:@"My custom font" size:15];

так далее...

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

Что я здесь скучаю?

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

Ну, кажется, работает сейчас, но шрифт применяется только для символов, как,? но не для писем. Я использую кириллицу, кстати.

6 ответов

Решение

Используйте это, чтобы получить все доступные шрифты

  // List all fonts on iPhone
  NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
  for(NSString *familyName in familyNames)
  {
    NSLog(@"family: %@", familyName);

    NSArray *fontNames = [[NSArray alloc] initWithArray:[UIFont fontNamesForFamilyName:familyName]];
    for(NSString *fontName in fontNames)
    {
      NSLog(@"    font: %@", fontName);
    }
  }

Ищите шрифт, который вы ввели, и посмотрите, совпадает ли это имя.

Расширение шрифта должно быть ttf вместо tiff

а потом сделать запись в плисте

Шрифты предоставлены приложением Font.ttf

Проверьте, если ваш [UIFont fontWithName:@"My font" size:15] строка возвращает объект UIFont, который не является нулевым.

В файле Info.plist добавьте ключ: Fonts provided by application с объектом массива, и установите элементы массива в строки следующим образом:

MyFont.ttf

куда MyFont это ТОЧНОЕ имя, указанное для шрифта в приложении Mac, "Font Book". Используйте Spotlight, чтобы запустить книгу шрифтов, а затем найдите там файл шрифта, чтобы дважды проверить имя.

Затем, когда вы установите шрифт для вашей метки:

myLabel.font = [UIFont fontWithName: @"MyFont" size: someFloatValue];

m.tiff не похож на файл поддерживаемого шрифта, т.е. TrueType или OpenType.

  1. Убедитесь, что ваши шрифты находятся в info.plist (шрифты предоставляются приложением)
  2. Выберите цель, на вкладке "Этапы сборки", "Копировать ресурсы комплекта", добавьте свои шрифты.
Другие вопросы по тегам