IOS 中的自定义字体未反映在设备上

Custom Font in IOS Not Reflected On Device

我按照这个 tutorial 自定义字体显示在我的故事板上,但是当我执行我的应用程序(在模拟器或设备上)时,字体没有反映出来。谁能帮忙。 这就是我所做的:

1- downloaded a .ttf file and copied it to my project
2- added "Fonts Provided By Application" in info.plist and added a row having the name of my custom font.
3- opened storyboard and selected the UILabel i want to have a custom font for, and selected the font as custom then selected my font. the font was shown on the storyboard correctly.

我错过了什么吗?

您是否仅将 .ttf 文件夹添加到支持文件。 然后像这样编辑 info.Plist

应用程序提供的字体作为数组

作为 Heiti 的项目 0 SC.ttf

现在您可以设置 label.font = [UIFont fontWithName:@"Heiti SC" size:15];

然后你还需要添加ttf文件来复制目标构建阶段的bundle资源。

您只需按照以下步骤操作即可。

第 1 步 - 下载 .ttf 文件并将其复制到我的项目中 第 2 步 - 在 info.plist 中添加了 "Fonts Provided By Application" 并添加了一行具有我的自定义字体名称的行。

第 3 步 - 显示添加的字体是否存在于项目中。复制过去到 application:didFinishLaunchingWithOptions

NSLog(@"Available fonts: %@", [UIFont familyNames]);
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
    NSArray *fontNames;
    NSInteger indFamily, indFont;
    for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
    {
        NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
        fontNames = [[NSArray alloc] initWithArray:
                     [UIFont fontNamesForFamilyName:
                      [familyNames objectAtIndex:indFamily]]];
        for (indFont=0; indFont<[fontNames count]; ++indFont)
        {
            NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);
        }

    }

第 4 步 - 找到您的字体名称并将相同名称签入故事板。

绝对有效。

谢谢@Andrey Chernuka 和@jcaron。我通过将目标成员设置为我的项目然后退出项目(由于某种原因清理不起作用)并重新打开项目并设置了所有内容来解决了这个问题。我打印时出现了字体名称 print (UIFont.familyNames())