Подтвердить что ты не робот

Xcode пользовательский шрифт ttf не работает

ok, поэтому я читал SO и делал все виды googling, но я не могу понять, почему мой шрифт не работает.

Я думаю, что все сделано правильно, но когда я запускаю приложение, текст на моей кнопке появляется со стандартным системным шрифтом вместо импортированного мной. Я добавил NSLog(@"%@",[UIFont familyNames]);, чтобы увидеть, было ли это в списке, но это не так. Это заставляет меня думать, что я неправильно настроил его.

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

Шаг за шагом это то, что я сделал.

Шаг 1: Я загрузил файл .ttf из Интернета. В моем поиске это выглядит так: enter image description here

Шаг 2: Я перетащил файл шрифта в XCode из finder и проверил опцию "копировать файл в папку проекта". Поэтому в моем проекте я вижу:

enter image description here

Шаг 3: Я открыл шрифт в книжке шрифтов, чтобы узнать, что такое настоящее имя файла, и я вижу следующее: enter image description here

Шаг 4: Я добавил ключ к файлу MyApp-Info.plist с именем файла из XCode, включая тип файла. Это выглядит так:

enter image description here

Шаг 5: И затем в моем коде я пишу это:

UIButton *thisLevelButton = [UIButton buttonWithType:UIButtonTypeCustom];

[thisLevelButton setBackgroundImage:[UIImage imageNamed:@"ccLSButtonPlayed"] forState:UIControlStateNormal];
thisLevelButton.frame = CGRectMake(x, y, BUTTON_WIDTH, BUTTON_HEIGHT);
thisLevelButton.tag = j;
[thisLevelButton addTarget:self action:@selector(userSelectedButton:) forControlEvents:UIControlEventTouchUpInside];
[thisLevelButton.titleLabel setFont:[UIFont fontWithName:@"PressStartK" size:24]];
[thisLevelButton setTitle:[NSString stringWithFormat:@"%i",(j+1)] forState:UIControlStateNormal];

// add the button to the panel
[subScroll addSubview:thisLevelButton];

Для справки, это то, что напечатано в списке семейств шрифтов:

(
    Thonburi,
    "Snell Roundhand",
    "Academy Engraved LET",
    "Marker Felt",
    "Geeza Pro",
    "Arial Rounded MT Bold",
    "Trebuchet MS",
    Arial,
    Marion,
    "Gurmukhi MN",
    "Malayalam Sangam MN",
    "Bradley Hand",
    "Kannada Sangam MN",
    "Bodoni 72 Oldstyle",
    Cochin,
    "Sinhala Sangam MN",
    "Hiragino Kaku Gothic ProN",
    Papyrus,
    Verdana,
    "Zapf Dingbats",
    Courier,
    "Hoefler Text",
    "Euphemia UCAS",
    Helvetica,
    "Hiragino Mincho ProN",
    "Bodoni Ornaments",
    "Apple Color Emoji",
    Optima,
    "Gujarati Sangam MN",
    "Devanagari Sangam MN",
    "Times New Roman",
    Kailasa,
    "Telugu Sangam MN",
    "Heiti SC",
    "Apple SD Gothic Neo",
    Futura,
    "Bodoni 72",
    Baskerville,
    "Chalkboard SE",
    "Heiti TC",
    Copperplate,
    "Party LET",
    "American Typewriter",
    "Bangla Sangam MN",
    Noteworthy,
    Zapfino,
    "Tamil Sangam MN",
    "DB LCD Temp",
    "Arial Hebrew",
    Chalkduster,
    Georgia,
    "Helvetica Neue",
    "Gill Sans",
    Palatino,
    "Courier New",
    "Oriya Sangam MN",
    Didot,
    "Bodoni 72 Smallcaps"
)
4b9b3361

Ответ 1

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

Ответ 2

Другая возможность заключается в том, что вы можете вызвать неправильное имя шрифта при попытке вызвать свой шрифт. Использование:

Swift 2.1 +

//Check which fonts available
for family: String in UIFont.familyNames()
{
   print("\(family)")
   for names: String in UIFont.fontNamesForFamilyName(family)
   {
       print("== \(names)")
   }
}

Цель C

//Check which fonts available
for (NSString* family in [UIFont familyNames])
{
    NSLog(@"FONT %@", family);

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

Чтобы найти фактические имена шрифтов, которые вы должны использовать с UIFont (имя: "yourFontName", размер: 24.0) (swift) или [UIFont fontWithName: @ "yourFontName" size: 16.0f] (obj c). Пользовательские имена шрифтов, которые вы добавляете в свой plist, должны соответствовать тем, что вызывают файлы в вашем каталоге (включая .ttf или .otf), но код, ссылающийся на шрифты, должен соответствовать именам шрифтов, которые вы получаете от этого вывода. Удачи мастерам шрифтов!