Как вы добавляете атрибут в строку UNICODE в Swift?Как добавить атрибут в строку Unicode в Swift?
NSMakeRange, кажется, ожидает, что строка в байтах для строки с байтом длины UNICODE.
Любой способ решить эту проблему? Заранее спасибо.
var s:NSMutableAttributedString = NSMutableAttributedString(string: "வாங்க வாங்க வணக்கமுங்க")
s.string[0...2]
s.addAttribute(NSForegroundColorAttributeName, value:UIColor(red:0.0, green:1.0, blue:0.0, alpha:1.0), range:NSMakeRange(0,3))
ОБНОВЛЕНО Пример:
let text = "வாங்க வாங்க வணக்கமுங்க"
var startOfWord = advance(text.startIndex, 4)
var endOfWord = advance(startOfWord, 3)
var highlightRange = startOfWord..<endOfWord
text[startOfWord..<endOfWord]
let attrText = NSMutableAttributedString(string:text)
attrText.addAttribute(NSForegroundColorAttributeName, value:UIColor(red:0.0, green:1.0, blue:0.0, alpha:1.0), range:highlightRange)
Как построить NSRange от быстрого диапазона?
Спасибо. Проблема не в создании NSMutableAttributedString. Его поиск диапазона для добавления атрибутов. s.string [4..6] даст второе слово, например Если мне нужно выделить это второе слово, как указать диапазон, используя NSMakeRange - который ожидает диапазон в байтах. – ZippyMind