2016-07-28 3 views
1

이모티콘을 링크로 사용하려고합니다.그림 이모티콘에 NSLinkAttributeName을 추가하는 방법은 무엇입니까?

emojiString.addAttribute(NSLinkAttributeName, value: "https://www.google.com/" , range: NSMakeRange(0,1)) 

위의 코드는 이모티콘을 링크로 표시하지만 그림이 사라집니다.

+2

이 될 수 없습니다 : 당신이 emojiString.string의 첫 번째 문자를 나타내는 범위를 만들고, 그것을 링크를 확인하려면

, 당신은 다음처럼 작성할 필요가 있습니다 : http://stackoverflow.com/questions/15775294/truncate-string-containing-emoji-or-unicode-characters-at-word-or-character-boun? – Larme

답변

0

문제의 원인이 될 수 있습니다

NSMakeRange(0,1) 

많은 코코아/코코아 터치 API를 UTF-16 기반의 오프셋 (offset)에게 & 수를 사용합니다.

대부분의 이모티콘은 2 개의 UTF-16 코드 단위로 구성되며 일부 다른 단위는 4 개 이상으로 구성됩니다. 이모티콘 더 큰 길이를 가지고 있기 때문에

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) 
} 
관련 문제