ios - 为什么某些 unicode 字符在 Interface Builder 中不显示?

标签 ios unicode interface-builder

我想在标签中包含一些漂亮的 unicode 字符。它们在代码编辑器(使用 Menlo 字体)和 Interface Builder 的实用程序部分(屏幕右侧部分)中都能正确显示。但是,它们在 IB Canvas 和应用程序的 View 中都显示为问号。

enter image description here

在第一张图片中,您可以看到名为“N-ary Circled times Operator”的 unicode 字符(代码点:0x2A02)在代码编辑器中正确显示。

enter image description here

在第二张图片中,您可以看到 IB 的快照,其中字符正确显示在右侧的文本字段中,但未显示在 View 中。 (图中的字体是System 17.0,但所有其他字体仍然存在该问题。)

看起来 View 中使用的渲染是旧版浏览器的渲染(实际上,对于其他一些 unicode 符号, View 中显示的字符是您在代码编辑器中看到的字符的更丰富多彩的变体)。

有办法解决这个问题吗?

最佳答案

iOS 提供的所有字体都不包含该字符的字形。如果您访问this test page在 MobileSafari 中,您还会看到它呈现为后备方 block 。

为了正确呈现该字符,您需要为应用程序提供一种包含其字形的字体。

关于ios - 为什么某些 unicode 字符在 Interface Builder 中不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29837414/

相关文章:

html - 设置元素的语言属性会导致子元素出现 unicode 字符样式错误

ios - 将按钮直接放置在标签的右侧(Swift)

ios - UISearchBar 在单击时修改其框架/边界

ios - Swift2运行时实例化UIStoryboard,失败如何处理?

ios - 在 NSUserDefaults 上更改语言后更新 UI

ios - 是否可以在后台检测用户的移动事件?

javascript - 如何在 phonegap xcode 中创建 sqlite 数据库?

python - 为什么 unicode 字符串不能与 python 中的字节字符串进行比较?

python - Redis-py是否支持unicode和utf-8以及它是如何工作的

ios - UITabBarController subview 的文件所有者