Showing emoji in a UILabel?

2019-01-31 09:50发布

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.

5条回答
Fickle 薄情
2楼-- · 2019-01-31 09:53

To use Emoji's just press Control+command+space (⌃⌘Space). No need of using unicode for emoji.

查看更多
啃猪蹄的小仙女
3楼-- · 2019-01-31 09:54

The unicode 6.1 encodings work as well, but you would have to specify them like this:

label.text = @"\U0001F431";
查看更多
我想做一个坏孩纸
4楼-- · 2019-01-31 09:56

In Swift you can do:

label.text = "                                                                    
查看更多
Emotional °昔
5楼-- · 2019-01-31 09:58

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.

查看更多
萌系小妹纸
6楼-- · 2019-01-31 09:58

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.

enter image description here

enter image description here

查看更多
登录 后发表回答