【问题标题】:Custom font not showing on device, but does on simulator自定义字体未显示在设备上,但在模拟器上显示
【发布时间】:2012-04-20 11:48:54
【问题描述】:

我一直在使用 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 告诉我可以命名字体的所有名称。我知道它是免费的,而且没有许可证。

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

【问题讨论】:

  • 字体是否与iOS应用一起打包?
  • [UIFont familyNames] 是否列出了您添加的字体?
  • 哪些扩展有字体文件? TTF 还是 ttf?
  • @TheDeveloper 我已经将字体拖到 Xcode 的项目管理器中,它出现在我的资源列表中。这就是你说的打包的意思吗?
  • @MrMage 我尝试添加:NSArray *fontArray = [UIFont familyNames]; NSLog(@"Font FamilyNames:%@", fontArray); 在模拟器上,我的字体出现在列表中,而在设备上却没有。

标签: ios iphone cocoa-touch uifont custom-font


【解决方案1】:

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

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

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

【讨论】:

  • 这有点让我伤心 D:
  • @TheDeveloper 是的,这就是我最后检查它的原因。谢谢! :-)
  • 似乎 xcode 默认情况下不会将 TTF 文件添加到捆绑资源中,这与例如 png 不同。同样的问题,
  • 我也面临同样的问题,但字体显示在 Copy Bundle Resources.i 添加了两种自定义字体。一种字体有效,但第二种字体无效……我不知道为什么
  • @OMerObaid 我发现仔细检查它的名称也很有用。查看您的设备是否知道字体的最佳方法是循环通过[UIFont familyNames][UIFont fontNamesForFamilyName:] 并注销字体名称。 FontBook 也非常适合查看应该命名的字体。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2023-03-04
    相关资源
    最近更新 更多