ragnarius
ragnarius

Reputation: 5823

How to enter unicode characters in a UILabel in Interface Builder?

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?

Upvotes: 63

Views: 58089

Answers (5)

graver
graver

Reputation: 15213

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"

Upvotes: 108

Phillip
Phillip

Reputation: 4306

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.

Upvotes: 17

leinadsey
leinadsey

Reputation: 161

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

let a = "\u{1F50A}"  

Upvotes: 14

sVd
sVd

Reputation: 1043

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

Upvotes: 9

JohnVanDijk
JohnVanDijk

Reputation: 3581

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

label.text = @"\U0001F50A";

Upvotes: 22

Related Questions