Я пытаюсь использовать смайлики в качестве ссылки.
emojiString.addAttribute(NSLinkAttributeName, value: "https://www.google.com/" , range: NSMakeRange(0,1))
Приведенный выше код превращает смайлик в ссылку, но смайлик исчезает.
Я пытаюсь использовать смайлики в качестве ссылки.
emojiString.addAttribute(NSLinkAttributeName, value: "https://www.google.com/" , range: NSMakeRange(0,1))
Приведенный выше код превращает смайлик в ссылку, но смайлик исчезает.
Причина вашей проблемы может заключаться в следующем:
NSMakeRange(0,1)
Многие API-интерфейсы Cocoa/Cocoa Touch используют смещения и подсчеты на основе 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)
}