iOS5中Unicode字符的绘制方式不同

10

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

奇怪的是,将标题设置为相邻行中的u25C2字符时,其效果如预期。我稍后会附上一张图片。

顺便问一下,这个蓝色按钮目前在任何Apple应用程序中使用吗?

谢谢。

进入图像描述

左:iOS 5 右:iOS 3.2

通过将标题设置为先前提到的unicode字符来完成此操作。


我看不出来你的问题是什么。另外,请提交一个错误报告 - Lily Ballard
我上传了一张图片来说明问题。希望这有所帮助。 - Yogurt
3个回答

9
您可以尝试使用Unicode6.1的变量选择器。关于Emoji,添加"\U0000FE0E"以指定非彩色字形。
例如,对于左三角(U+25C0),您可以像@"\U000025C0\U0000FE0E"这样指定,这将在Mountain Lion上的iOS6模拟器中将更改的字形从Apple Color Emoji样式更改为非彩色纯文本表情符号。 Swift 4.0
let glyph = "\u{000025C0}\u{0000FE0E}"

经过测试,这似乎无法在iOS5上工作,相反,修改器显示为字符,但在iOS6上运行良好。 - Peter

5

你需要适当设置字体。你所看到的蓝色图标是苹果彩色表情字体中的U+25C0。我不确定iOS上的其他字体是否包含你想要的符号,但如果你找到了该字体并明确设置它,则应该呈现你想要的图标。


1
@DDT_DZ:尝试将字体设置为Hiragino Mincho ProN。 - Lily Ballard
谢谢你。我已经测试过了,它可以正常工作。你是怎么发现这是正确的字体的? - Yogurt
@DDT_DZ:这是一种我验证过具有字形并且在iOS上存在的字体。可能还有其他更适合您目的的iOS字体也具有此字形。您只需要进行实验即可。您可以在http://iosfonts.com/上找到iOS字体列表,并通过创建包含此字形的网页并使用CSS将字体系列设置为其中每个字体,直到找到您喜欢的字体来进行实验。 - Lily Ballard
1
@DDT_DZ:或者澄清一下:Helvetica从一开始就没有这个字形。你看到的是系统使用字体回退行为选择的另一个字体。然而,当Apple Color Emoji字体在iOS 5中引入时,它在字体回退列表中排名更高,因此改变了系统回退以绘制字形的字体。 - Lily Ballard
1
Hiragino Mincho ProN在iOS 7中解决了我的问题。对于我想要的,在iOS 6上我需要使用系统字体。 - Tom Andersen
显示剩余5条评论

3

我刚刚发现了如何在不编写代码的情况下实现这一点。通过在OSX屏幕右上角接近你的国旗点击打开符号和表情面板。

enter image description here

  1. 输入你想查找的符号
  2. 双击你找到的符号
  3. 你会看到它出现在文本字段中
  4. 按下Enter,你将会在Xcode IB中看到表情符号

enter image description here

  1. 在搜索框中输入“variation”关键词
  2. 双击变体选择符号
  3. 确保它确切地是“VARIATION SELECTOR-15”
  4. 文本字段中不会发生任何更改(不用担心)
  5. 按下Enter键后,Xcode IB将变为平面表情符号!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接