iOS 富文本NSMutableAttributedString整理
来源:互联网 发布:http端口号是多少 编辑:程序博客网 时间:2024/05/23 01:24
初始化
1.常用:
NSMutableAttributedString *attrStr =[[NSMutableAttributedString alloc] initWithString:@"text"];
2.将需要编辑的内容转换成data,初始化成需要的类型,再转换为富文本。
例如:加载HTML文本,将含有html标签的字符串,初始化为HTML类型
NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc] initWithData:[@"<html>text<\html>" dataUsingEncoding: NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
- NSDocumentTypeDocumentAttribute有三个key
NSPlainTextDocumentType -----普通文本
NSRTFTextDocumentType -----富文本
NSRTFDTextDocumentType -----带附件的富文本
NSHTMLTextDocumentType -----这个可以加载HTML格式的文本- NSDocumentTypeDocumentAttribute编码转换类型
NSPlainTextDocumentType
NSRTFTextDocumentType
NSRTFDTextDocumentType
NSHTMLTextDocumentType
富文本总结
常用方法
1.获取指定位置上的属性信息,并返回与指定位置属性相同并且连续的字符串的范围信息。
- -(NSDictionary*)attributesAtIndex:(NSUInteger)index effectiveRange:(NSRangePointer)aRange
2.与另一个NSAttributedString 对象做对比返回bool值。
- -(BOOL)isEqualToAttributedString:(NSAttributedString *)otherString
3.获取对象Substring
- -(NSAttributedString *)attributedSubstringFromRange:(NSRange)aRange
4.去除某一属性
- -(void)removeAttribute:(NSString *)name range:(NSRange)range;
5.指定范围内的子串,遍历子串上覆盖的属性信息
- -(void)enumerateAttribute:(NSString)attrName inRange:(NSRange)enumerationRange options:(NSAttributedStringEnumerationOptions)opts usingBlock:(void (^)(id value,NSRange range,BOOLstop))block
6.遍历指定范围内的属性信息和range信息
- -(void)enumerateAttributesInRange:(NSRange)enumerationRange options:(NSAttributedStringEnumerationOptions)opts usingBlock:(void (^)(NSDictionaryattrs,NSRangerange,BOOLstop))block
7.开始编辑
- -(void)beginEditing;
8.结束编辑
- -(void)endEditing;
9.拼接attrString
- -(void)appendAttributedString:(NSAttributedString *)attrString;
10.插入attrString
- -(void)insertAttributedString:(NSAttributedString *)attrString atIndex:(NSUInteger)loc;
11.替换
- -(void)replaceCharactersInRange:(NSRange)range withAttributedString:(NSAttributedString *)attrString;
12.删除字符
- -(void)deleteCharactersInRange:(NSRange)range;
Attribute属性
段落样式(常用的)
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];style.lineSpacing = 10; // 行距style.paragraphSpacing = 20; // 段距style.firstLineHeadIndent = 30; // 首行缩进
阴影
NSShadow *shadow = [[NSShadow alloc]init];shadow.shadowOffset = CGSizeMake(2, 2);shadow.shadowColor = [UIColor orangeColor];shadow.shadowBlurRadius = 1;
用法
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:label];NSRange range = NSMakeRange(0, attrStr.length);// 字体倾斜[attrStr addAttribute:NSObliquenessAttributeName value:@(0.5) range:range];// 字体加粗[attrStr addAttribute:NSStrokeWidthAttributeName value:@(-3) range:range];// 设置字体[attrStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"JingLeiFontName" size:16] range:range];label.attributedText = attrStr;
ps:平常基本不怎么发布文章,这算是我在简书的处女作了,但是看到有兄弟们mark时还是感到开心,有空时,我会上传多几篇文章,和兄弟们一起学习
作者:wxzhi
链接:http://www.jianshu.com/p/2763a57c93c1
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- iOS 富文本NSMutableAttributedString整理
- ios富文本NSMutableAttributedString
- NSMutableAttributedString IOS中的富文本
- iOS NSMutableAttributedString 实现富文本
- iOS NSMutableAttributedString 实现富文本
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS使用NSMutableAttributedString实现富文本
- iOS使用NSMutableAttributedString实现富文本
- IOS NSMutableAttributedString 富文本的设置
- iOS——NSMutableAttributedString 实现富文本
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS使用NSMutableAttributedString 实现富文本
- iOS 富文本(NSMutableAttributedString)详解
- 12-富文本 NSMutableAttributedString
- 富文本 ---- NSMutableAttributedString
- NSMutableAttributedString实现富文本
- codeforces831B
- FineBI中tomcat服务器部署
- 解题报告:Codeforces Round #424 Div. 2 C. Jury Marks 记录STL::map的一个小细节
- C语言基础 标识符
- RecyclerView滚动到指定位置
- iOS 富文本NSMutableAttributedString整理
- 查看ElasticSearch服务状态和结果的URL
- AR技术融入房地产行业,Hutch公司获1000万美元投资
- selenium自动化测试笔记(2)
- 数据结构--队的插入和删除
- 习题8.8
- hibernate-3-annotation-curd
- JEESZ分布式框架--技术介绍文档
- 连年亏损 金融街甩卖天津地标建筑“津门”