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

时间:2013-08-23 23:30:38

标签: iphone ios objective-c fonts uifont

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

这些问题与帖子Adding multiple fonts to UIAppFonts overrides each other中的问题有些类似。解决方案是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可能导致问题”的错误测试并且它没有改变任何东西。任何人都知道问题可能是什么?

非常感谢!

1 个答案:

答案 0 :(得分:2)

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