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

前端 未结 5 1647
南旧
南旧 2020-12-13 23:32

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条回答
  • 2020-12-13 23:35

    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"

    0 讨论(0)
  • 2020-12-13 23:36

    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.

    0 讨论(0)
  • 2020-12-13 23:37

    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

    0 讨论(0)
  • 2020-12-13 23:43

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

    label.text = @"\U0001F50A";
    
    0 讨论(0)
  • 2020-12-14 00:01

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

    let a = "\u{1F50A}"  
    
    0 讨论(0)
提交回复
热议问题