我遇到一个图标字体无法在iOS 12上显示的问题(在iOS <= 11上可以正常使用)。有关我发现的内容以及如何使用字体的更多详细信息:
1)字体正确包含在项目中,并且在NSlogging [UIFont familyNames]
和[UIFont fontNamesForFamilyName:iconFontFamilyName]
2)我正在使用\ u符号label.text = @"\uXXXX"
访问图标。当XXXX的字体中不不存在时,该应用会显示“正方形问号”,(正确)指示该代码不存在。但是,如果字体中存在代码 DOES ,则该应用程序什么也不显示-相应的元素显示为空白。
我们这里缺少什么吗?
答案 0 :(得分:2)
总而言之,此问题最有可能与Icomoon的字体生成有关。特别是cmap
编码子表的类型。我建议采取两项行动:
ttf
文件转换为otf
(iOS也支持)来测试此假设。otf
文件,同时直接引发IcoMoon问题。我记得在MinimumRubber project中使用设备上的字体生成时遇到过类似的问题。我发现UILabel
和UITextView
都需要仔细选择平台标识符和特定于平台的编码标识符才能显示该字形。 Apple重构了这段代码并不奇怪,