我有一些HTML內容,我想要在我的本地UILabel呈現,但除此之外,我必須添加自定義字體到該UILabel。我使用NSAttributedString來做到這一點,並使用下面的代碼來在我的UILabel中呈現HTML內容。將字體屬性添加到HTML呈現UILabel swift
func htmlAttributedString() -> NSAttributedString? {
guard let data = self.data(using: .utf16, allowLossyConversion: false) else {
return nil
}
guard let html = try? NSMutableAttributedString(
data: data,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
documentAttributes: nil) else { return nil }
let attributes = [
NSForegroundColorAttributeName: UIColor.lightGray,
NSFontAttributeName : UIFont.systemFont(ofSize: 12)
]
html.setAttributes(attributes, range: NSRange(0..<html.length))
return html
}
var str = "Here is the <bold>string</bold> that i want to be bold.
messageLabel.attributedText = str.htmlAttributedString()
這裏的問題是,當我在HTML呈現的屬性字符串上應用字體屬性。然後,像大膽的HTML格式都丟失了。
所以是沒有辦法,我可以申請在HTML中,某些所選字體的方式呈現的屬性串
https://stackoverflow.com/a/44435915/5362916檢查這一個 –
使用此鏈接:https://stackoverflow.com/questions/28496093/making-text-bold-using-attributed-string -in-swift – ashwini
@UmaMadhavi你的鏈接爲我工作。謝謝 – Madu