使用目的:对一段文字设置较复杂的文本属性,比如同时设置字体大小\字体颜色\下划线
使用方法:
1.首先创建一个NSMutableAttributedString类型的实例对象:
例如:
objc NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"初次使用富文本编辑文字,收获很大"];
2.创建一个存放文本属性的字典对象:
例如:
objc NSDictionary *attributeDict1 = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:15],NSFontAttributeName,[UIColor orangeColor],NSForegroundColorAttributeName, nil]; NSDictionary *attributeDict2 = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:18],NSFontAttributeName,[UIColor darkGrayColor],NSForegroundColorAttributeName, nil];
3.为实例化的NSMutableAttributedString对象设置富文本属性,常用方法如下:
为某一范围内设置多个属性
- (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;
例如:
objc [attributedStr addAttributes:attributeDict1 range:NSMakeRange(0, 11)]; [attributedStr addAttributes:attributeDict2 range:NSMakeRange(11, 4)];
4.最后为相应的控件赋值
例如:
UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(20, 100, self.view.frame.size.width - 40, 35)];
testLabel.attributedText = attributedStr;
[self.view addSubview:testLabel];
常用富文本属性介绍:
objc // 字体 NSFontAttributeName // 段落格式 NSParagraphStyleAttributeName // 字体颜色(前景色) NSForegroundColorAttributeName // 背景颜色 NSBackgroundColorAttributeName // 删除线格式 NSStrikethroughStyleAttributeName // 下划线格式 NSUnderlineStyleAttributeName // 删除线颜色 NSStrokeColorAttributeName // 删除线宽度 NSStrokeWidthAttributeName // 阴影 NSShadowAttributeName
网友评论