关于如何在一个UILabel中实现不同字体和颜色的问题一直困扰了我很久,之前一直想着如何自定义一个UILabelView来实现,结果总是失败,知道最近我深入接触了NSMutableAttributedString之后,才发现要实现它原来是那么的简单。
遥想实现它,我们得换一种思路,那就是从要输入的字符串下手,而不是一味的从UILabel找突破。那好,一个例子就可以说明一切问题:
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];//给不同的片段设置不同的颜色
[stringaddAttribute:NSForegroundColorAttributeNamevalue:color1range:range2];
[stringaddAttribute:NSFontAttributeNamevalue:[UIFontfontWithName:@"HelveticaNeueLTStd-BdCn"size:15]range:range1];//给不同的片段设置不同的字体
[stringaddAttribute:NSFontAttributeNamevalue:[UIFontfontWithName:@"HelveticaNeueLTStd-BdCn"size:15]range:range2];
[lblTitlesetAttributedText:string];