12

我一直在玩 iOS 中的自定义字体,除了自定义字体不会在我的任何设备上显示之外,我已经弄清楚了其中的大部分内容。

  1. 我已将字体添加到项目文件的根目录中。
  2. 将其添加到数组或“应用程序提供的字体”下的 info.plist 文件中
  3. 检查原始文件和我添加到 info.plist 文件中的区分大小写是否相同。
  4. 用于[playMenuBtn.titleLabel setFont:[UIFont fontWithName:@"fontname" size:40]];使字体工作。

当我在模拟器中运行我的应用程序时,一切看起来都很好并且可以正常工作。但是,一旦我在物理设备上运行它,它就会以默认大小显示默认字体。

如果我使用:
UIFont *font = [UIFont fontWithName:@"VINCASTENCIL" size:20]; NSLog(@"Font:%@", font);

然后模拟器返回: 2012-04-07 01:10:41.544 AppName[47412:f803] Font:<UICFFont: 0x683e040> font-family: "VINCA STENCIL"; font-weight: normal; font-style: normal; font-size: 20px

设备返回的位置: 2012-04-07 00:42:56.358 AppName[5079:707] Font:(null)

我已经尝试了一切,包括尝试 FontBook 告诉我可以命名字体的所有名称。我知道它是免费的,而且没有许可证。

任何帮助都将不胜感激,因为它让我发疯,我真的不想为所有这些使用图像,因为本地化会很痛苦!

4

2 回答 2

28

是的,我刚刚设法让这个工作。我所做的一切都是正确的,但由于某种原因,它没有将我的字体文件添加到“目标”->“构建阶段”->“复制捆绑资源”。通过手动将其添加到此列表中,该字体随后会显示在设备上。

这是该项目第二次没有在此处自动添加文件(之前是通过我添加的类完成的,但它没有)所以我认为这是我的项目有问题,或者是 Xcode 中的错误。

感谢大家的建议和帮助。:-D

于 2012-04-07T11:04:34.543 回答
0

是的,按照上面提到的所有指示,你应该没问题。其他需要注意的事项:区分大小写。在您的 *.plist 文件和Fonts provided by application. 模拟器可能会忽略大小写,但设备不会。例如,“Facebook”与“FaceBook”不同。(这导致字体在模拟器中工作,但不是设备!)

于 2015-03-25T22:40:41.663 回答