我正在尝试使用表情符号作为链接。
emojiString.addAttribute(NSLinkAttributeName, value: "https://www.google.com/" , range: NSMakeRange(0,1))
上面的代码将表情符号转换为链接,但表情符号将消失。
答案 0 :(得分:0)
您的问题的原因可能是:
NSMakeRange(0,1)
许多Cocoa / Cocoa Touch API使用基于UTF-16的偏移量&计数。
大多数表情符号由2个UTF-16代码单元组成,其他一些表示4个或更多。
如果你想创建一个指示emojiString.string
的第一个字符的范围,并将其作为链接,你可能需要写这样的东西:
if let ch = emojiString.string.characters.first {
let range = NSRange(0..<String(ch).utf16.count)
emojiString.addAttribute(NSLinkAttributeName, value: "https://www.google.com/" , range: range)
}