编辑:
找到了一种可以进行大量转换的方法,但是看起来很草率:

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)

}

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

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

因此,现在我对%C格式为什么不显示unicode以及为什么它显示两个不同字符感到困惑。

最佳答案

let myStr = "\u{1f601}"

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

关于ios - 如何在Swift 3中将unicode表情符号设置为UIButton的标题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42498455/

10-09 17:33