2011-11-21 150 views
17

我在我的应用程序中使用了一些特殊的uniode字符,但自iOS 5以来,这些字符已被替换为表情符号字符。如何强制显示unicode字符而不显示emoji字符?谢谢防止显示表情符号字符

回答

0

在Apple的私人开发者论坛(如果您是iOS开发人员计划的注册会员,您可以访问该网站)有几处提及此问题。

这听起来像是潜在的解决方案是明确设置字体为任何你试图显示。

+0

不幸的是,这并不工作 – RunLoop

-1

使用“Hiragino Mincho ProN”作为字体。它为我工作,但不幸的是我不得不改变插入,使事情看起来正确。我必须在顶部添加一个嵌入,以便像iOS更新之前那样放置内容。

全部归功于凯文·巴拉德谁回答我的岗位在下面的讨论 - Unicode characters being drawn differently in iOS5

15

这是一个老问题,但它最近困扰我很多东西,直到我找到了答案。

只要在我们想要防止成为表情符号的字符后面加上'\ U0000FE0E'即可。

例如:

@"▶" // should be written as: 
@"▶\U0000FE0E" 

使用转义的unicode工程,以及:

@"\u25B6" // should be written as: 
@"\u25B6\U0000FE0E" 

我们需要使用Unicode变种,以防止某些字符变成表情符号。

Here is the article that solved my problem.

+0

谢谢!今天也用同样的unicode符号进入这个确切的问题。此解决方案完美运作。 – ChrisJP

+0

很高兴能帮到@ChrisJP!我很震惊,因为我找不到一个好的答案,甚至找不到3岁以上的问题! – BFeher

6

只需添加到BFerer的有用的答案,我发现这种工作方式类似于在斯威夫特:

"▶\u{0000FE0E}" 
+0

这不适用于iOS9/Swift 2.任何建议? – 1b0t

+0

回答我自己的问题。显然,圣弗朗西斯科根本就没有这个字符。将字体重新设置为Helvetica Neue可以修复它。 – 1b0t