Любой знает, как это сделать? Имея пользовательскую ячейку, подклассом является фрагмент HTML, с пользовательскими классами CSS, которые должны быть там, чтобы окрасить текст в определенные места.Набирая ярлык ячейки с атрибутной строкой из HTML с пользовательскими классами CSS
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView!.dequeueReusableCellWithIdentifier("SearchResCell", forIndexPath: indexPath) as! SearchResCell
if self.searchStore != nil && self.searchStore.searchResult.count > 0 && self.searchStore.searchResult[0].searchResults.count > 0 {
let searchRes = searchStore.searchResult[0].searchResults[indexPath.row]
cell.titleLabel.text = searchRes.displayTitle
cell.titleLabel.textColor = UIColor.blueColor()
let attrResult = try! NSAttributedString(
data: searchRes.wordsClean.dataUsingEncoding(NSUnicodeStringEncoding, allowLossyConversion: true)!,
options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
documentAttributes: nil)
cell.subtitleLabel.attributedText = attrResult
cell.subtitleLabel.textAlignment = NSTextAlignment.Right
}
return cell
}
В attrResult есть html с классом css (скажем, ABC). Есть ли способ в атрибутной строке сказать, что это класс Foo? или существует ли какой-либо другой способ, кроме как использовать регулярные выражения или манипуляции с строками на каждой строке, которую я получаю из API? это могут быть сотни, и это не мой API, поэтому я не могу изменить теги HTML в нем.
HTML Text Пример:
bla bla bla <span class="HightlightTextClass"> highlighted text </span> more bla bra bra text
"
10x
Вы можете разместить HTML? – Brandon
Попробуйте этот ответ http://stackoverflow.com/a/28132610/5222077 (я не уверен, что он поддерживает cutom css, он может поддерживать встроенный css) – kye
Добавлен пример строки для типа os text, который я получаю от API, класс в span - это выделение текста для этого диапазона, и мне нужно выделить тот же текст ... 10x – Erez