UIFont Woes(一些自定义字体加载,但其他不是)

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

这些问题有点类似于在向UIAppFonts添加多个字体的post中相互覆盖的问题 。 解决方案是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可能导致问题”错误测试并且它没有改变任何东西。 任何人都知道问题可能是什么?

非常感谢!

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