【发布时间】:2019-08-07 03:33:00
【问题描述】:
当我将 html 字符串转换为 NSAttributedString 时,它可以正常工作,但在特定情况下会出现问题。
func htmlAttributed(family: String?, size: CGFloat, color: UIColor) -> NSAttributedString? {
do {
let htmlCSSString = "<style>" +
"html *" +
"{" +
"font-size: \(size)px;" +
"color: \(color.hex);" +
"font-family: \(family ?? "Helvetica"), Helvetica;" +
"}</style> \(self)"
guard let data = htmlCSSString.data(using: String.Encoding.utf8) else {
return nil
}
return try NSAttributedString(data: data,
options: [.documentType: NSAttributedString.DocumentType.html,
.characterEncoding: String.Encoding.utf8.rawValue],
documentAttributes: nil)
} catch {
return nil
}
}
这是我的测试用例 html 字符串有问题。
<b>Hi <i>how are <u>you?</u></i></b>
这是我使用 NSAttributedString 的结果。 嗨 你好吗?
我想在这句话中全部加粗,但我只得到Hi粗体字符串。
【问题讨论】:
标签: html ios swift iphone nsattributedstring