1. ホーム
  2. html

[解決済み] Swift: HTMLデータをラベルやtextViewに表示する [重複]。

2022-10-26 12:09:50

質問

見出し、段落、画像、リストタグを含むHTMLデータがあります。

このデータを1つの UITextView または UILabel ?

どのように解決するのですか?

Swift 5 の場合。

extension String {
    var htmlToAttributedString: NSAttributedString? {
        guard let data = data(using: .utf8) else { return nil }
        do {
            return try NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding:String.Encoding.utf8.rawValue], documentAttributes: nil)
        } catch {
            return nil
        }
    }
    var htmlToString: String {
        return htmlToAttributedString?.string ?? ""
    }
}

そして、UITextViewにHTMLテキストを入れたいときはいつでも使う。

textView.attributedText = htmlText.htmlToAttributedString