DeyaEldeen DeyaEldeen - 5 months ago 21
Swift Question

how to prevent iOS from converting ascii into emoji?

I have this simple

String
applied to a
UILabel


labelInfo.text = "(11) ♥ 6"


this is how I need it to look like


(11) ♥ 6


this is how it looks like instead


unwanted


I really searched alot, and didn't find a way to do this..

I found ways to remove emojis, but this makes it look like this


(11) 6


if you have a hint, it will be very appreciated.

Answer

Apple has changed this in iOS 5. In most fonts, all characters that can be potentially displayed as an emoji are replaced with the colorful character from the Apple Emoji Font.

There are several solutions:

  1. Use the Unicode variant selector for non-coloured glyph: U+FE0E

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

  1. Set a font where Apple doesn't force emojis. People usually recommend Hiragino Mincho ProN.

  2. Use the graphics contexts drawing method to display the text.

Also see: