添加自定义字体(Impact)到iOS项目不起作用

时间:2014-08-21 00:51:45

标签: ios objective-c uifont

这是一个看起来像许多其他人一直在努力的话题。我正在尝试将“Impact”字体添加到我的iOS项目中。为此,我执行以下步骤:
1.将Impact.ttf文件添加到我的项目中 2.确保Impact.ttf文件实际上已添加到项目Target中 3.在目标Build Phases中选中'Copy Bundle with Resources'并确保包含Impact.ttf文件 4.在My-Project-Name-Info.plist中,我添加了“应用程序提供的字体”选项,并将Impact.ttf设置为数组中的项目0。 5.使用Font Book打开字体文件,确保我使用正确的名称引用字体。在这种情况下,Impact是正确的名称。

我使用以下代码剪切来查看项目中的所有可用字体,而'Impact'不是其中之一:

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

在下面的代码片段中检查UIFont的值时,我得到了nil。

UIFont *impactFont = [UIFont fontWithName:@"Impact" size:36.0f]; 

我检查了所有拼写的四倍,并多次完成每个步骤。我还使用了以下资源(以及更多资源)来解决问题。

需要注意的一项:如果我打开带有字体书的Impact.ttf,则表示未安装该字体。我单击以安装该字体,并收到警告,表明安装了重复的Impact字体。要修复此警告,请单击“自动解决重复项”,字体显示为已安装。但是,如果我再次打开该文件,则字体显示为未安装。

我不确定是否需要在Font Book中安装字体才能在我的项目中正确识别

非常感谢你的帮助!我知道这个问题已被多次询问,但我觉得我已经耗尽了SO和其他网站上的所有资源和链接。

1 个答案:

答案 0 :(得分:2)

也许这不是你想要的答案,但是你可以用来继续前进的解决方案。 这就是我在我的项目中使用的,简单而有用的https://github.com/deni2s/IBCustomFonts

希望你能找到更好的解决方案!