iOS开发中经常会遇到这样的问题就是一个Label 中的文字需要两种以上的颜色现实
比如注册按钮下一般会有服务协议,这里的文字一般都会做区分
如下图
我们直接看代码
UILabel *hintLabel=[[UILabel alloc]initWithFrame:CGRectMake(30, 120, 320, 66)];
hintLabel.numberOfLines=0;
[self.view addSubview:hintLabel];
NSMutableAttributedString *hintString=[[NSMutableAttributedString alloc]initWithString:@"点击注册按钮即表示您已同意西游隐私条款和服务协议"];
//获取要调整颜色的文字位置,调整颜色
NSRange range1=[[hintString string]rangeOfString:@"西游隐私条款"];
[hintString addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:range1];
NSRange range2=[[hintString string]rangeOfString:@"服务协议"];
[hintString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range2];
hintLabel.attributedText=hintString;
其实,就是使用到了NSMutableAttributedString 的功能,Label设置 attributedText就好了