關(guān)于如何在一個(gè)UILabel中實(shí)現(xiàn)不同字體和顏色的問題一直困擾了我很久制恍,之前一直想著如何自定義一個(gè)UILabelView來實(shí)現(xiàn),結(jié)果總是失敗蜂奸,知道最近我深入接觸了NSMutableAttributedString之后草添,才發(fā)現(xiàn)要實(shí)現(xiàn)它原來是那么的簡單豆瘫。
遙想實(shí)現(xiàn)它吞鸭,我們得換一種思路寺董,那就是從要輸入的字符串下手,而不是一味的從UILabel找突破刻剥。那好遮咖,一個(gè)例子就可以說明一切問題:
NSString*title =@"Please rank from most to least the personality below you like your partner to have";
NSMutableAttributedString* string = [[NSMutableAttributedStringalloc]initWithString:title];
NSRangerange1, range2;
range1 =NSMakeRange(17, 13);//通過NSRange來劃分片段
range2 =NSMakeRange(62, 12);
UIColor*??? color1 =TITLE_TEXT_COLLOR; //TITLE_TEXT_COLLOR 是我自定義的顏色
[stringaddAttribute:NSForegroundColorAttributeNamevalue:color1range:range1];//給不同的片段設(shè)置不同的顏色
[stringaddAttribute:NSForegroundColorAttributeNamevalue:color1range:range2];
[stringaddAttribute:NSFontAttributeNamevalue:[UIFontfontWithName:@"HelveticaNeueLTStd-BdCn"size:15]range:range1];//給不同的片段設(shè)置不同的字體
[stringaddAttribute:NSFontAttributeNamevalue:[UIFontfontWithName:@"HelveticaNeueLTStd-BdCn"size:15]range:range2];
[lblTitlesetAttributedText:string];