如何防止iOS将ascii转换为表情符号?

时间:2016-06-19 11:57:37

标签: ios swift nsstring emoji

我已将此简单String应用于UILabel

labelInfo.text = "(11) ♥ 6"

这就是我需要它的样子

  

(11)♥6

这就是它的样子

  

unwanted

我真的搜索很多,并没有找到办法做到这一点。

我找到了删除表情符号的方法,但这使它看起来像这样

  

(11)6

如果您有提示,我们将非常感激。

3 个答案:

答案 0 :(得分:8)

Apple已在iOS 5中对此进行了更改。在大多数字体中,所有可能显示为表情符号的字符都将替换为Apple Emoji字体中的彩色字符。

有几种解决方案:

  1. 使用Unicode变体选择器非彩色字形:U + FE0E
  2. labelInfo.text = "(11) \u{2665}\u{fe0e} 6"

    1. 设置Apple不强制使用emojis的字体。人们通常会推荐 Hiragino Mincho ProN

    2. 使用图形上下文绘制方法显示文本。

    3. 另见:

答案 1 :(得分:2)

转到X-中的编辑 - >表情符号和符号。键入要使用的符号名称(在您的案例中)。复制它。然后按照您想要的方式粘贴它。例如:_mylabel.text = @"♥︎&#34 ;; Example

答案 2 :(得分:0)

这对我有用:

请确保使用实际的ASCII符号代替代码,并在其后附加\u{0000FE0E},如下所示:

label.text = "♥\u{0000FE0E} Love!"

它将正确显示在标签中,如下所示:

♥ Love!

注意:请确保您的字体中存在该符号。如果它不起作用,请尝试更改字体。谢谢。