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就好了