簡體   English   中英

如何處理 NSAttributedString 顏色中的十六進制值

[英]How to handle hex values in NSAttributedString color

我正在嘗試使用 NSAttributedString 從示例 HTML 字符串中獲取顏色屬性。 這是我嘗試創建它的方式:

func toHTMLAttributedString() -> NSAttributedString? {
    if let data = self.data(using: .unicode),
       let nsAttrString = try? NSAttributedString(data: data,
                                                  options: [.documentType: NSAttributedString.DocumentType.html],
                                                  documentAttributes: nil) {
            return nsAttrString
        }
        return nil
    }

這是我正在嘗試的字符串:

<p>My <b> cat </b> has <span style=\"color:#i00008B\">blue</span> eyes.</p>

然而,“藍色”這個詞總是黑色的。 我發現這是因為它是一個十六進制值。 如何將十六進制值轉換為 NSAttributedString 知道如何使用的值。

您需要刪除字母i

"color:#00008B\

然后是 Red 的正確 ex

let str = """
<p>My <b> cat </b> has <span style=\"color:#ff0000\">blue</span> eyes.</p>
"""

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM