一. 初始化方法
-(id)initWithString:(NSString *)str;
例如:
NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:@"今天是个好天气"];
-(id)initWithString:(NSString )str attributes:(NSDictionary )attrs;
字典中存放字符串的属性名和属性值,如:
NSDictionary *attributeDict = [NSDictionary dictionaryWithObjectsAndKeys:
[UIFont systemFontOfSize:],NSFontAttributeName,
[UIColor redColor],NSForegroundColorAttributeName,
NSUnderlineStyleAttributeName,NSUnderlineStyleSingle,nil];
NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"今天是个好天气" attributes:attributeDict];
二. 使用方法
//为某一范围内文字设置多个属性
- (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range;
//为某一范围内文字添加某个属性
- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;
//为某一范围内文字添加多个属性
- (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range;
//移除某范围内的某个属性
- (void)removeAttribute:(NSString *)name range:(NSRange)range;
三. 常见属性及属性说明
NSFontAttributeName //字体
NSParagraphStyleAttributeName //段落格式
NSForegroundColorAttributeName //字体颜色
NSBackgroundColorAttributeName //背景颜色
NSStrikethroughStyleAttributeName //删除线格式
NSUnderlineStyleAttributeName //下划线格式
NSStrokeColorAttributeName //删除线颜色
NSStrokeWidthAttributeName //删除线宽度
NSShadowAttributeName //阴影
四. 举例使用
NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:@"今天是个好天气"];
[attributeStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:] range:NSMakeRange(, )];
[attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor purpleColor] range:NSMakeRange(, )];
[attributeStr addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(, )];
[attributeStr addAttribute:NSUnderlineStyleAttributeName value:@() range:NSMakeRange(, )];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(, , self.view.bounds.size.width-, )];
label.attributedText = attributeStr;
label.font = [UIFont systemFontOfSize:];
label.textAlignment = NSTextAlignmentCenter;
label.backgroundColor = [UIColor cyanColor];
[self.view addSubview:label];
运行效果图:
好了,文章对NSMutableAttributedString的用法做了一个简单的介绍,另外在iOS中UIButton,UITextField这些控件也都可以使用这些属性。