Я пытаюсь создать NSAttributedString из строки HTML, но мне нужно изменить шрифт строки.Я смог успешно добиться этого, выполнив:
let myOriginalString: String = "<!DOCTYPE html>
<head>
<style type=\"text/css\">
body{font-family: '-apple-system','Avenir-Medium',`Avenir-Black`; font-size:14;}
</style>
<body>
My HTML content
</body>"
let data: Data = myOriginalString.data(using: .utf8)
let myConvertedString: NSAttributedString = NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue], documentAttributes: nil)
Когда на экране отображается myConvertedString
, текст отображается правильным шрифтом.
Но когда я пытаюсь выполнить то же преобразование, когда тело HTML содержит неупорядоченный список , содержимое в неупорядоченном списке не соответствует указанному мной формату:
let myOriginalString: String = "<!DOCTYPE html>
<head>
<style type=\"text/css\">
body{font-family: '-apple-system','Avenir-Medium',`Avenir-Black`; font-size:14;}
</style>
<body>
My HTML content
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</body>"
let data: Data = myOriginalString.data(using: .utf8)
let myConvertedString: NSAttributedString = NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue], documentAttributes: nil)
Когда на экране отображается myConvertedString
, строка My HTML Content
имеет правильный формат, но Item 1
и Item 2
не соответствуют указанному мной шрифту.
Я попытался добавитьстилизация для тега ul
и тега li
, но с одинаковым результатом.
Почему NSAttributedString отображает весь текст с правильным шрифтом, кроме неупорядоченного списка?Есть ли лучший способ создать неупорядоченный список с NSAttributedString вместо использования HTML?