NSAttributedString是一个带有属性的字符串,通过该类可以灵活地操作和呈现多种样式的文字数据。
NSTextStorge是NSMutableAttributedString的子类,UITextView中的 textStorage 属性为 NSTextStorge 类型。
NSString *string = @"你知道怎么在一个label设置不同的颜色嘛?";
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:string];
//设置颜色(NSForegroundColorAttributeName代表要设置颜色, value代表值, range 代表范围)
/**
其他设置:
1.NSForegroundColorAttributeName //颜色
2.NSFontAttributeName //字体
3.NSBackgroundColorAttributeName //背景色
//还有其他的很多的属性,可以自己去看苹果的API,这里不再详述
*/
[attrString addAttribute:NSForegroundColorAttributeName value:[UIColor customBlueColor] range:NSMakeRange(1, 3)];
//3.添加到Label中
UILabel *label = [[UILabel alloc] init];
label.textColor = [UIColor customGrayColor];
label.frame = CGRectMake(0, 200, 280, 40);
[label setAttributedText:attrString];
[label sizeToFit];
[self.window addSubview:label];
// 添加与移除属性
UIColor *myColor = [UIColor redColor];
[self.myTextView.textStorage addAttribute:NSForegroundColorAttributeName
value:myColor
range:self.myTextView.selectedRange];
[self.myTextView.textStorage removeAttribute:NSForegroundColorAttributeName
range:self.myTextView.selectedRange];
常用属性
NSBackgroundColorAttributeName文字背景的颜色
NSBaselineOffsetAttributeName设置行距
NSForegroundColorAttributeName文字颜色
NSUnderlineStyleAttributeName为文字添加下划线。必须设置NSNumber对象为Value