使用目的:对一段文字设置较复杂的文本属性,比如同时设置字体大小\字体颜色\下划线
使用方法:
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
iOS富文本使用技巧
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Text Kit学习(入门和进阶): http://www.cocoachina.com/industry/201...
- iOS自己总结的超级详细分解富文本大全(AttributedString),图文混排很轻松 转载于http://b...