Xcode 7 iOS9 字体不再被识别

Posted

技术标签:

【中文标题】Xcode 7 iOS9 字体不再被识别【英文标题】:Xcode 7 iOS9 font no longer recognized 【发布时间】:2015-07-12 15:09:51 【问题描述】:

对于 ios 7/8,当以编程方式设置文本参数时,它会在编译/构建以在设备上运行时按预期显示。但是,在 Xcode 7 中测试我的 iOS9 应用程序时,由于text.font 无法识别字体,我的所有视图框架都关闭或完全不可见。它本身不是自定义字体,它在 Apple 的库中,事实上,当您通过 IB 设置标签时,它会正确显示,但在代码中执行相同操作时,它只会显示系统字体。任何想法如何规避这个问题?它在 iOS9 中创建了一个相当丑陋的视图,但一切仍然正常显示

有问题的字体是“Heiti TC Light”

我从 Apple 的 Font Book 中获得了 post script name 并相应地应用它:

@"STHeitiTC-Light"

同样,适用于除 iOS9 之外的所有 iOS 版本

使用 Xcode 7.0 beta 3 | iOS 9 模拟器

【问题讨论】:

【参考方案1】:

Apple 似乎已经在 Xcode 版本中结束了对这种特定字体的支持。它只显示在 IB 中,因为它是从以前的 Xcode 版本缓存并通过升级保留的。

对于字体存在同样问题的用户,它可能仍然是有效的操作系统字体,但他们可能已将其从 Xcode 中删除。我建议开始一个新项目,通过更改新项目的 IB 中的字体来查看您的字体是否仍然是受支持的字体,如果未列出,则必须将 font.ttc 从 Font Book 复制到项目并包含它在您的 info.plist 中,就像其他自定义字体一样。

【讨论】:

以上是关于Xcode 7 iOS9 字体不再被识别的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xcode 7 中为 xcode 8 中的标签添加更多字体大小,它在字体旁边显示“+”符号

iOS9中怎样设置字体大小

无法在 Xcode 11 Beta 中将系统字体更改为自定义字体

Xcode 7 / iOS 9:在 SKNode 中使用 OpenGL 片段着色器未编译

iOS 9.3 系统字体名称是啥?

使用情节提要的自定义字体 Xcode 4.6