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

how to prevent iOS from converting ascii into emoji?

我将这个简单的 String 应用于 UILabel

labelInfo.text = "(11) ♥ 6"

这就是我需要的样子

(11) ♥ 6

这是它的样子

我真的搜索了很多,但没有找到方法..

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

(11) 6

如有提示,将不胜感激。

在 Xcode.Type 您要使用的符号名称(在您的案例中心)中转到“编辑”->“表情符号和符号”。复制 it.Then 按您想要的方式粘贴。 Eg:_mylabel.text=@"♥︎";

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

有几种解决方法:

  1. 非彩色字形使用 Unicode 变体选择器:U+FE0E

labelInfo.text = "(11) \u{2665}\u{fe0e} 6"

  1. 设置 Apple 不强制使用表情符号的字体。人们通常推荐 Hiragino Mincho ProN.

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

另见:

  • Unicode characters being drawn differently in iOS5
  • Prevent Emoji Characters from Showing
  • iOS 5 upgrade changed font appearance

这对我有用:

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

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

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

♥ Love!

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