IOS 開發(fā) 改變UILabel中間文字的顏色或者大小

我們在開發(fā)中遇到過不少需要同一個Label,展示不同文字的顏色和字體

例如:Label的文字為@“獲取2244獎勵金”,2244數(shù)量為后臺返回的數(shù)據(jù),需要改變2244文字顏色為紅色,字號大小為15,其他字體顏色為白色,字號大小為12

其實(shí)很容易實(shí)現(xiàn),看代碼

//首先只需要創(chuàng)建一個UILabel就可以了,不要再創(chuàng)建很多個進(jìn)行拼接了

UILabel * titleLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 0,100, 40)];

//既然要設(shè)置2244文字顏色為紅色,其他字體顏色為白色,那么就首先設(shè)置全部字體顏色為白色,之后再修改2244字體顏色為紅色

titleLabel.textColor=[UIColor whiteColor];

//字體大小同樣道理

titleLabel.font=[UIFont fontWithName:@"PingFang SC" size: 12];

//重點(diǎn)來了,首先需要設(shè)置第一個字符串

NSString * str1=@"最高可得";

//獲取第一個字符串的長度

long len1=[str1 length];

//設(shè)置第二個字符串,他是后臺返回的整數(shù)

NSString * shuliangStr=[NSString stringWithFormat:@"%d",2345];

//獲取第二個字符串的長度

long len2=[shuliangStr length];

//拼接最終的整體的字符串

NSString * str =[NSString stringWithFormat:@"最高可得 %@ 獎勵金",shuliangStr];

//創(chuàng)建NSMutableAttributedString對象來實(shí)現(xiàn)富文本

NSMutableAttributedString * str2 =[[NSMutableAttributedString alloc]initWithString:str];

//設(shè)置指定文字顏色,len1代表開始變顏色的起始位置,len2表示改變的長度

[str2 addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(len1, len2)];

//設(shè)置指定文字字號大小,len1和len2同理

[str2 addAttribute:NSForegroundColorAttributeName value:[UIFont fontWithName:@"PingFang SC" size: 15] range:NSMakeRange(len1, len2)];

//最終設(shè)置titleLabel的富文本為str2

titleLabel.attributedText=str2;

//然后把titleLabel添加到view上

[self.view addSubview:titleLabel];

到這里就完成了,可以根據(jù)自己的需要酌情縮寫一下,我這樣寫完全是為了更加容易理解一下,看看效果,完美??!如果有什么更加簡單的方法,歡迎大佬留言。

?著作權(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ù)。

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