如何在Interface Builder中的UILabel中输入unicode字符?

rag*_*ius 57 iphone unicode utf-8 interface-builder ios

我想在标签中显示一个unicode字符(扬声器符号U + 1F50A).是否可以在Interface Builder中输入此符号?

gra*_*ver 101

是的,您可以单击"编辑">"特殊字符..." - 在那里您可以找到所有unicode字符(包括表情符号)并将它们复制/粘贴到您在Interface Builder中设置标签文本的位置.

编辑:在Xcode 6中它是"编辑">"表情符号和字符"

Xcode 7+:"编辑">"表情符号和符号"

  • 它现在在Xcode 6中被称为**Edit> Emoji&Characters**. (5认同)
  • 而且,现在它在Xcode 7.3中被称为**Edit> Emoji&Symbols** (3认同)
  • 表情符号的快捷键是Control + Command + Space (3认同)
  • 重要的是要知道您是否不习惯在 **Emoji & Characters** 窗口中键入文字 unicode 字符:您键入 `0x` 后跟代码,因此如果 unicode 是 `f19c`,则键入 `0xf19c` 到搜索栏,如果默认支持,就会出现这个字符,否则会出现一个空框字符——那个空框字符就是你的unicode字符,双击插入 (3认同)

Joh*_*ijk 20

对于那些尝试以编程方式进行操作但失败的用户,只需使用:

label.text = @"\U0001F50A";
Run Code Online (Sandbox Code Playgroud)

  • 请确保使用较低的 u 而不是较高的 U ie @"\u0001F50A" (2认同)

Phi*_*lip 17

以编程方式执行.

使用NSString类型的方式声明Label的IBOutlet:

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

myLabel.text = myString;
Run Code Online (Sandbox Code Playgroud)

另外,看看这个问题.


lei*_*sey 11

在Xcode 8/Swift 3中,最简单的方法是使用unicode转义:

let a = "\u{1F50A}"  
Run Code Online (Sandbox Code Playgroud)


sVd*_*sVd 6

这很有趣,为什么很少有人知道这一点.您可以通过按住"Option"并输入十六进制数字来直接输入Unicode符号.所有你需要的:( Sierra示例)转到"首选项 - >键盘 - >输入源"并搜索"Unicode Hex".它应出现在"其他"部分下.接下来添加它然后只需选择此输入源就可以在任何地方输入Unicode-char.

例如:✓=(Alt + 2713),€ - (20ac)等.最有趣的部分从2100到2800.完整列表,你可以在这里找到 - Unicode表

PS:此方法仅适用于四位数的Unicodes

  • 有一点需要指出。仅当您选择了 Unicode Hex 输入源时,选项键技巧才有效。 (2认同)