iOS富文本為html時,修改默認(rèn)字體顏色

有如下這樣的html

<span style="color:'#F62637', background-color:'#FFFFFF'">顏色樣式</span>無樣式

你想要在label控件上,通過富文本方式進(jìn)行顯示,而label的textColor為白色,這時候,你希望“無樣式”的字體顏色為白色的。但是富文本沒有設(shè)置ForgroundColor的情況下,字體顏色默認(rèn)為黑色的。而且forgroundColor和label的textColor的設(shè)置是處于同一個水平的,你后設(shè)置的那個總是會覆蓋掉先設(shè)置的那個。所以這樣就導(dǎo)致了一個問題“無樣式”字體的顏色不會顯示白色,而是黑色的。

如果html是確定的,那么可以考慮通過便利的方式進(jìn)行實(shí)現(xiàn)。對于不確定的html,一個很好的思路是想辦法修改富文本的默認(rèn)字體顏色。我的第一個想法就是從NSAttributedString的屬性入手,可是找了半天都沒有找到辦法來。還有一個比較笨的辦法就是通過NSAttributedString的遍歷方法去找color為黑色(默認(rèn)顏色)的字符串,但是這個方法有一個問題,如下html

<span style="color:black">黑色樣式</span>無樣式

本身的html設(shè)置的字體顏色為黑色的時候,遍歷的方法就會變得很尷尬。

想了半天還是沒有解決,靈感一閃,oc解決不了,那么就從html入手吧,直接拼接html,在最外面加個span。 如下所示:

<span style="color: your color here"><span style="color:black">黑色樣式</span>無樣式</span>

這樣就直接實(shí)現(xiàn)了改變NSAttributedString的默認(rèn)字體顏色的問題了,哈哈哈。

有更好的辦法,歡迎指教哈~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容