0

我在加载某些自定义字体时遇到问题。我遵循了这个问题的 400+ 人赞成的传统答案中的建议,它完美地适用于一个项目。但是,在我正在处理的另一个项目中,我遇到了加载 UIFont 的问题。

这些问题有点类似于在为 UIAppFonts 添加多种字体会相互覆盖后发现的问题。解决方案是 p-list 将名称正确解析为 XML 导致覆盖存在问题。我试图检验这个问题的假设:

我在我的 p 列表中列出了字体

UIAppFonts(变成“应用程序提供的字体”)第 0 项 - Merriweather-Regular.ttf 第 1 项 - OpenSans-Regular.ttf 第 2 项 - OpenSans-Bold.ttf

最后一个(OpenSans-Bold)是唯一加载的。从那以后,我尝试移动这些物品,但没有任何效果。我什至从 p-list 和项目中删除了 OpenSans-Bold.ttf 并尝试运行它。显然,它们并没有“相互覆盖”。所有文件都被复制到我的捆绑副本中(另一个常见错误),但在我的任何视图中,唯一注册的文件是 OpenSans-Bold。我已经删除了所有内容并将其重新添加...基本上完成了所有传统的“奇怪的 XCode 可能导致问题”的错误测试,它没有改变任何东西。任何人都知道问题可能是什么?

非常感谢!

4

1 回答 1

2

答案是字体文件名与字体名不同。如果文件名是 OpenSans-Regular 之类的,有时在调用 fontWithName: 时只需要做字体名 OpenSans。这就是为什么“OpenSans-Regular”不起作用(因为它不是字体名称),而“OpenSans-Bold”起作用(因为名称与文件相同。)

于 2013-08-30T23:47:28.143 回答