这是一个看起来像许多其他人一直在努力的话题。我正在尝试将“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和其他网站上的所有资源和链接。
答案 0 :(得分:2)
也许这不是你想要的答案,但是你可以用来继续前进的解决方案。 这就是我在我的项目中使用的,简单而有用的https://github.com/deni2s/IBCustomFonts
希望你能找到更好的解决方案!