iOS5花式图标(表情符号?)用于特殊的unicode字符 - 不是我想要的

时间:2011-11-08 16:56:03

标签: ios unicode ios5 emoji

我一直认为,当我需要箭头或子弹或其他东西时,我可以在字符串中使用简单的标志性unicode字符。字形将呈现与字符串其余部分相同的颜色,并带有简洁明了的图标。我可以通过在XCode的“编辑”菜单上使用Mac的“特殊字符”对话框来预览它们的外观。

在iOS5中,这些字形以全彩色呈现,并且不简单和干净。我相信这些是表情符号图标?

我正在寻找对此更改的解释,理想情况下如何强制iOS5恢复到iOS2 - iOS4行为。

以下是一个示例:@"← left arrow, right arrow → airplane ✈";

修改

显然,用于呈现文本(drawAtPoint: / drawInRect:)的NSString UIKit扩展不会出现此行为。那么也许这是UILabel的事情?具体来说,我已经在UISegmentControl段按钮和UILabel中注意到了它。

1 个答案:

答案 0 :(得分:1)

这不是一个错误,它取决于使用的字体。当您在所选字体中不可用的字符串中使用字符时,iOS会自动替换另一种字体的字形。

系统字体(Helvetica)中没有这些字符,因此我猜测Apple已经更改了后备字体列表,以便表情符号排在上面用于后备的任何内容之上对于那些角色。

要解决此问题,请找到a)具有所需字符版本的字体,并且b)在iPhone上可用,并将标签设置为使用该字体而不是默认的系统字体。

或者,您可以创建一个UILabel子类并覆盖drawRect方法,以便它使用drawAtPoint / drawInRect方法绘制字符串。