【问题标题】:Showing emoji in a UILabel?在 UILabel 中显示表情符号?
【发布时间】:2012-07-22 02:04:30
【问题描述】:

不确定我在这里缺少什么,搜索对我没有帮助。我想在 UILabel 中显示 emoji 字符,但这不是这样做的:

UILabel *label = [[UILabel alloc] init];
label.font = [UIFont fontWithName:@"AppleColorEmoji" size:16.0];
label.text = [NSString stringWithFormat:@"%C", 0x1F431];
// ... etc.

适用于其他非字母 unicode 字符,例如棋子,但没有我尝试过的任何表情符号。

【问题讨论】:

  • 您是否检查过label.font 不是nil
  • 好点,我以前没有,但现在我做到了,label.font = font-family: "Apple Color Emoji";字体粗细:正常;字体样式:正常;字体大小:16px

标签: iphone objective-c emoji


【解决方案1】:

要使用表情符号,只需按 Control+command+space (⌃⌘Space)。表情符号无需使用 unicode。

【讨论】:

  • 到底谁投了反对票?这是通过 Storyboard 使用表情符号的最佳答案。
  • 我非常惊讶,这样的事情竟然是可能的。
  • 说真的,这是最好的方法。
  • 最佳答案,甚至不知道这是可能的。
  • 这太神奇了。节省大量研究和复制粘贴时间。赞!!
【解决方案2】:

在 xcode 中,只需转到顶部栏并单击 EDIT > EMOJIS & SYMBOLS,就会弹出一个表情符号框,您可以将其添加到应用程序中的任何文本中,如果您需要添加它,甚至可以在界面构建器中使用到那里的 uilabel 的文本。

【讨论】:

  • 很好,这应该在顶部,因为它比接受的版本简单得多。
【解决方案3】:

在 Swift 中你可以这样做:

label.text = "?"

请务必包含引号。否则,您会将文本设置为变量中的任何内容。 以下将显示为“猫”:

let ? = "cat"
label.text = ?

【讨论】:

    【解决方案4】:

    unicode 6.1 编码也可以,但您必须像这样指定它们:

    label.text = @"\U0001F431";
    

    【讨论】:

    【解决方案5】:

    您的表情符号字符可能没有使用正确的编码。例如,在您的示例中,我认为您正在寻找这样的东西:

    label.text = [NSString stringWithFormat:@"%C", 0xe04f];
    

    查看this 表以获取您需要的编码。

    【讨论】:

    • 有趣。这行得通,但它不是旧的软银专有编码吗?我期待现在标准的 Unicode 6.1 编码应该(也?)工作。
    • 如果你使用这个unicode字符来显示emojis,苹果会拒绝应用吗?
    猜你喜欢
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2014-07-17
    • 2011-03-21
    • 2016-04-13
    • 1970-01-01
    相关资源
    最近更新 更多