【问题标题】:Icon font not displaying on iOS 12iOS 12 上未显示图标字体
【发布时间】:2018-12-24 06:39:38
【问题描述】:

我遇到了一个图标字体在 iOS 12 上不显示的问题(它在 iOS

1) 字体已正确包含在项目中,并且在 NSlogging [UIFont familyNames][UIFont fontNamesForFamilyName:iconFontFamilyName] 时出现

2) 我正在使用 \u 符号访问图标:label.text = @"\uXXXX"。当 XXXX NOT 存在于字体中时,应用程序会显示“question-mark-in-a-square”,表明(正确)该代码不存在。但是,如果代码DOES 存在于字体中,则应用程序将不显示任何内容 - 相应的元素显示为空白。

这里有什么我们遗漏的吗?

【问题讨论】:

  • 你在其他地方试过你的字体吗?
  • question-mark-in-a-square 也只是一个符号。可能你的字形没有合适的尺寸。
  • @Vyacheslav 相同的图标字体在 iOS 11(或更低版本)上运行良好,所以我猜测这是一个 iOS 12 问题
  • 我知道我的自定义字体(几个字形)在 iOS 10 中正确显示,而不是在 iOS 11 中。我建议检查字形。
  • 你是如何创建字体的,文件格式是什么?

标签: ios objective-c xcode uifont ios12


【解决方案1】:

总而言之,问题很可能与 Icomoon 的字体生成有关;特别是cmap 编码子表的类型。我建议采取两项措施:

  1. 通过使用字体转换工具(例如https://onlinefontconverter.com)将您的ttf 文件转换为otf(iOS 也支持)来测试此假设。
  2. 如果您的字形显示,则继续使用新的 otf 文件,同时直接向 IcoMoon 提出问题。

我记得在我的MinimumRubber project 中使用设备上的字体生成时遇到了类似的问题。我发现UILabelUITextView 都需要仔细选择平台标识符和特定于平台的编码标识符才能显示字形。 Apple 对这部分代码进行了重构并不让我感到惊讶

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 2018-12-07
    • 2022-06-13
    相关资源
    最近更新 更多