У меня возникли проблемы с использованием NSMutableAttributedString
, чтобы прочитать строку HTML и увеличить размер шрифта.NSMutableAttributedString с размерами шрифта и свойствами HTML-тегов
Входной HTML: <b>Lorem ipsum</b> dolor sit <i>amet</i></h3>consectetuer</h3> adipiscing elit
И NSMutableAttributedString
преобразуется, как показано ниже:
let htmlData = input.data(using: .utf8)!
let htmlAttrs = [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:String.Encoding.utf8.rawValue] as [String : Any]
do{
let new = try NSMutableAttributedString(data: htmlData, options: htmlAttrs, documentAttributes: nil)
let tillEnd = NSRange(location: 0, length: new.length)
let attr:UIFont = UIFont.systemFont(ofSize: 25)
//new.addAttribute(NSFontAttributeName, value: attr, range: tillEnd)
textView.attributedText = new
}
Он читает HTML-теги правильно и дает OUTPUT
.
Но если я хочу увеличить размер шрифта и раскол addAttribute
, размер шрифта увеличивается, но HTML не отображается.
Могу ли я приписал строку как с размером шрифта и рендеринга HTML?
Это нормальное поведение. Курсив и полужирный находятся внутри UIFont (и так в NSFontAttributeName). Вам нужно повторить NSFontAttributeName вашего NSAttributedString. Хороший старт: http://stackoverflow.com/a/41413014/1801544 (Мэтт ответ, но вместо создания нового шрифта, такого как Грузия, используйте тот же, что и раньше). – Larme
Спасибо, ответ мата сработал. – khanHussain