如何在Swift 3中将unicode表情符号设置为UIButton的标题?

时间:2017-02-28 00:47:48

标签: ios swift unicode uibutton

编辑: 找到了一种通过大量转换来转换它的方法,但看起来很草率:

let myStr = "1f601"
let str = String(Character(UnicodeScalar(Int(myStr, radix: 16)!)!))

我正在尝试执行以下操作:

for _ in 1...2 {
    let emojiButton               = UIButton()
    emojiButton.backgroundColor   = UIColor.green
    emojiButton.heightAnchor.constraint(equalToConstant: 20.0).isActive = true
    emojiButton.titleLabel!.font = UIFont(name: "AppleColorEmoji", size: CGFloat(16.0))
    emojiButton.setTitle(str, for: .normal)

    stackView.addArrangedSubview(emojiButton)

}

由于某种原因,这给出了两个不同的符号而不是预期的表情符号,结果如下:

enter image description here

所以现在我很困惑为什么%C格式没有显示unicode,以及为什么它显示两个不同的字符。

1 个答案:

答案 0 :(得分:1)

let myStr = "\u{1f601}"

可能是在Swift中指定Unicode点的最简单方法。