我在加载某些自定义字体时遇到问题。我遵循传统的,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可能导致问题”的错误测试并且它没有改变任何东西。任何人都知道问题可能是什么?
非常感谢!
答案 0 :(得分:2)
答案是字体文件名与字体名不同。如果文件名类似于OpenSans-Regular,则有时在调用fontWithName时只需要输入字体名称OpenSans:这就是为什么“OpenSans-Regular”不起作用(因为它不是字体名称),而“OpenSans-Bold”确实如此(因为名称与文件相同。)