自定义字体在Xcode 9中不起作用。但是,如果我在Xcode 8中打开相同的项目,自定义字体将按预期工作
我已经运行了这段代码以确保字体显示:
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++)
{
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog (@"%@: %@", fontFamily, fontNames);
}
我确保字体在plist,已检查的目标成员资格以及复制包资源部分中。
这是一个Xcode错误吗?
答案 0 :(得分:4)
答案 1 :(得分:2)
我也在使用Xcode 9.2,甚至我也面临同样的问题。
我做的是直接在我的应用程序中添加自定义字体文件夹。如果您直接添加字体文件夹,则可能会遇到此类问题。它不会反映复制包资源在构建阶段标签下的字体文件。为了解决这个问题,我使用了以下步骤:
首先在包内选择font.ttf文件,在文件检查器下选择右侧,选中项目的目标会员选项。
转到项目目标并在构建阶段下转到复制捆绑资源,然后点击+按钮添加所有字体。(确保添加字体。 ttf文件只是不包含该font.ttf文件的文件夹)
同时确保在项目中拖动文件时正确添加文件。请勿忘记检查复制项目(如果需要)选项。最重要的是在info.plist文件中添加由应用程序提供的字体,然后添加您在项目中使用的所有自定义字体。
希望这会有所帮助。快乐的编码:)
答案 2 :(得分:1)
在Xcode 9中打开项目后遇到同样的问题,通过重新包含字体解决了这个问题。 (删除它们,清理项目,包含它们,构建项目)。
尽管你已经在目标中检查了它们,但是在选择自定义字体时看不到,你可以尝试将本地化(上面的目标检查)指定为“基础”或一些,之后它会在故事板中显示,但是无法加载代码(至少在我的情况下)。然而,重新包容是最好的方式,它使一切都好。
答案 3 :(得分:1)
我使用Xcode 9解决了项目中的自定义字体问题。以下是以下步骤 -
1-添加到捆绑包中的字体。 2-在应用程序提供的字体下添加plist文件字体名称 3-转到Target-&gt;构建阶段并添加字体文件。
现在您可以运行您的项目。它将在您的应用程序中显示自定义字体。
答案 4 :(得分:1)
如果它位于蓝色目录文件夹中(显然),我将字体文件移出该文件夹,然后编译并解决问题(GRR!),这对编译器来说是一个问题。