How to enter unicode characters in a UILabel in In

2019-01-22 05:26发布

I would like to display a unicode character (the speaker symbol U+1F50A) in label. Is it possible to enter this symbol in Interface Builder?

5条回答
Root(大扎)
2楼-- · 2019-01-22 05:50

In Xcode 8/Swift 3 the easiest is to use the unicode escape:

let a = "\u{1F50A}"  
查看更多
爷的心禁止访问
3楼-- · 2019-01-22 05:51

It's fun why few people knew this. You can enter Unicode-symbols directly by holding "Option" and entering hex digit. All you need: (Sierra example) goto "Preference -> Keyboards -> Input Sources" and search for "Unicode Hex". It should appears under "Others" section. Next add it and then you be able enter Unicode-char anywhere just selecting this input source.

For example: ✓ = (Alt+2713), € - (20ac), etc. Most interesting section from 2100 to 2800. Full list you can found here - Unicode table

P.S.: This method sutable only for four-digit Unicodes

查看更多
混吃等死
4楼-- · 2019-01-22 05:52

For those who tried doing it programmatically, but failed, just use this:

label.text = @"\U0001F50A";
查看更多
祖国的老花朵
5楼-- · 2019-01-22 05:54

Yes, you can click "Edit" > "Special Characters…" — there you can find all unicode characters (including the emoji) and copy/paste them where you set the label text in Interface Builder.

EDIT: In Xcode 6 it's "Edit" > "Emoji & Characters"

Xcode 7+: "Edit" > "Emoji & Symbols"

查看更多
我欲成王,谁敢阻挡
6楼-- · 2019-01-22 06:08

Do it programmatically.

Declare an IBOutlet for the Label, with the means of NSString type:

// UTF-8 Hexadecimal Encoding
NSString *myString = [NSString stringWithUTF8String:"0xF09F948A"];

myLabel.text = myString;

Also, take a look at this question.

查看更多
登录 后发表回答