[英]How to use San Francisco Font when converting a description with HTML Markup to NSAttributedString on iOS using Swift
[英]NSAttributedString to HTML in iOS Swift 3
我已經搜索了很多東西,但是只能找到純文本格式的HTML,反之則沒有,我的應用程序中有電子郵件實現,因此需要將電子郵件內容作為HTML發送到后端。
編輯1:我有豐富的文本,其中包括粗體,斜體,有序/無序列表,帶下划線的單詞。
如果您想將NSAttributedString
轉換為String
,那么這里是您要尋找的擴展方法。 只需調用yourAttributtedString.htmlString()
並打印出來即可。
extension NSAttributedString {
func htmlString() -> String? {
let documentAttributes = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType]
do {
let htmlData = try self.data(from: NSMakeRange(0, self.length), documentAttributes:documentAttributes)
if let htmlString = String(data:htmlData, encoding:String.Encoding.utf8) {
return htmlString
}
}
catch {}
return nil
}
}
根據這篇文章 :
private func getHtmlLabel(text: String) -> UILabel {
let label = UILabel()
label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping
label.attributedString = stringFromHtml(string: text)
return label
}
private func stringFromHtml(string: String) -> NSAttributedString? {
do {
let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)
if let d = data {
let str = try NSAttributedString(data: d,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
documentAttributes: nil)
return str
}
} catch { }
return nil
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.