Reputation: 636
Not sure what I'm missing here, and searching hasn't helped me. I want to display emoji characters in a UILabel, and this isn't doing it:
UILabel *label = [[UILabel alloc] init];
label.font = [UIFont fontWithName:@"AppleColorEmoji" size:16.0];
label.text = [NSString stringWithFormat:@"%C", 0x1F431];
// ... etc.
Works fine with other non-letter unicode characters, e.g. chess pieces, but not with any emoji characters that I have tried.
Upvotes: 18
Views: 28400
Reputation: 1223
To use Emoji's just press Control+command+space (⌃⌘Space). No need of using unicode for emoji.
Upvotes: 77
Reputation: 1254
In xcode just go to the top bar and click EDIT > EMOJIS & SYMBOLS and an emoji box will pop up and you can literally add it to any text in the app, even works in the interface builder if you need to add it to the text of a uilabel there.
Upvotes: 17
Reputation: 4413
In Swift you can do:
label.text = "🐈"
Be sure to include the quotes. Otherwise you'll be setting the text to whatever is in the variable. The following would display as "cat":
let 🐈 = "cat"
label.text = 🐈
Upvotes: 7
Reputation: 1098
The unicode 6.1 encodings work as well, but you would have to specify them like this:
label.text = @"\U0001F431";
Upvotes: 5
Reputation: 11568
You are probably not using the correct encoding for your emoji characters. For instance in your example I think you are looking for something like this:
label.text = [NSString stringWithFormat:@"%C", 0xe04f];
Have a look at this table to get the encodings you need.
Upvotes: 19