項(xiàng)目中很多會(huì)見到同一個(gè)Label上,為了強(qiáng)調(diào)重點(diǎn)或引起注意等,label的text的字體和顏色都會(huì)不同。初學(xué)者可能會(huì)想到寫兩個(gè)label來區(qū)分不同的顏色和字體,雖然這樣也可以實(shí)現(xiàn),但會(huì)增加label布局的難度。
其實(shí)用富文本可以很容易實(shí)現(xiàn)同一Label顯示不同的文本顏色大小字體等,如下那個(gè)“獲取驗(yàn)證碼”Button里的小的豎線(“ | ”),當(dāng)然這里這樣做有個(gè)不好處就是點(diǎn)擊按鈕時(shí)豎線會(huì)出現(xiàn)隨button閃。(不推薦這樣做)
代碼如下,這里只是說明一下同一個(gè)label可以有不同顏色。
當(dāng)然除了顏色,還有下劃線NSUnderlineStyleAttributeName、背景顏色NSBackgroundColorAttributeName、刪除線NSStrikethroughStyleAttributeName、刪除線顏色NSStrikethroughColorAttributeName、文字描邊顏色NSStrokeColorAttributeName、文字描邊寬度NSStrokeWidthAttributeName。還有文字排版方向, 0 表示橫排文本,1 表示豎排文本, iOS中只有橫排,0以外的未定義。字體傾斜方向NSObliquenessAttributeName、字體拉伸或者壓縮NSObliquenessAttributeName。
這里還有一個(gè)封裝的改變字體的方法,只需調(diào)用就可以實(shí)現(xiàn)同一個(gè)label不同的字體。當(dāng)然你也可以把別的Attribute也封裝在里面。
_xjxLabel.text=@"20%%";
[selfchangeTheSpecifiedString:_xjxLabel.textandSpecifiedCharecters:@[@"%"]andFont:55andTheLabel:_xjxLabel];
demo整理出來后會(huì)上傳至Github下載demo
喜歡的點(diǎn)贊哦!