【问题标题】:Unicode characters being drawn differently in iOS5iOS5 中 Unicode 字符的绘制方式不同
【发布时间】:2012-01-10 06:23:20
【问题描述】:

将 uibutton 的标题设置为 u25C0 会导致它在 iOS5 中具有蓝色背景,但在 iOS4.3 中没有。

奇怪的是,将标题设置为 u25C2,每行 2 个字符,按预期显示。去图。稍后我会附上一张图片。

顺便说一句,这个蓝色按钮目前是否在任何 Apple 应用程序中使用?

谢谢。

左:iOS 5 右:iOS 3.2

这是通过将标题设置为前面所述的 unicode 字符来完成的。

【问题讨论】:

  • 我看不出你的问题是什么。另外,请提交bug report
  • 我上传了一张图片来说明问题。希望这会有所帮助。

标签: objective-c unicode fonts ios5


【解决方案1】:

您可以尝试使用 Unicode6.1 的变体选择器。关于 Emoji,添加“\U0000FE0E”以指定非彩色字形。

例如,对于左三角形(U+25C0),您可以指定 @"\U000025C0\U0000FE0E",这会将字形从 Apple Color Emoji 样式更改为非彩色普通 emoji,至少在 Mountain Lion 上的 iOS6 模拟器。

Swift 4.0

let glyph = "\u{000025C0}\u{0000FE0E}"

【讨论】:

  • 经过测试,这似乎不适用于 iOS5,而是修饰符显示为字符,但在 iOS6 上运行良好
【解决方案2】:

您需要适当地设置字体。您看到的蓝色图标是 Apple Color Emoji 字体中的 U+25C0。我不确定 iOS 上还有哪些其他字体包含您想要的符号,但如果您找到该字体并明确设置它,那么它应该呈现您想要的图标。

【讨论】:

  • 该死的,表情符号似乎无处不在。不幸的是,我四处搜索,找不到任何工具来查看 iOS 字体。我尝试了您的建议,但至少对我尝试过的字体不起作用。我正在寻找一种使用旧字符而不是表情符号的方法。据我所知,其他人似乎也遇到了这些表情符号的问题,没有发布解决方案。如果我发现任何东西,我会更新这篇文章。
  • @DDT_DZ:尝试将字体设置为 Hiragino Mincho ProN
  • 再次感谢您。我已经对其进行了测试,并且可以正常工作。您是如何发现这是正确的字体的?
  • @DDT_DZ:或者澄清一下:Helvetica 一开始就没有这个字形。您看到的是系统使用字体回退行为选择的另一种字体。然而,Apple Color Emoji 字体在 iOS 5 中引入时在字体后备列表中排名较高,因此更改了系统为绘制字形而后退的字体。
  • Hiragino Mincho ProN 在 iOS 7 中为我解决了这个问题。对于我想要的,在 ios6 上我需要使用系统字体。
【解决方案3】:

刚刚发现如何在没有代码的情况下实现这一点。在 OSX 屏幕右上角单击您所在国家/地区的国旗附近,打开 Symbols&Emoji 面板。

  1. 键入您要查找的符号
  2. 双击您找到的符号
  3. 您会看到它出现在文本文件中
  4. Enter,您将在 Xcode IB 中看到表情符号

  1. 在搜索字段中输入“变体”关键字
  2. 双击变体选择器符号
  3. 确定是“VARIATION SELECTOR-15”
  4. 文本字段中没有任何变化(不用担心)
  5. Enter后Xcode IB会变成扁平的表情符号!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-28
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2017-02-23
    相关资源
    最近更新 更多