NSAttributedString 使用详解

NSSAttributedString的基本使用

NSSAttributedString的简单封装

使用开源代码GONMarkUpPaser来处理富文本

UITextKit的简单使用

NSSAttributedString的基本使用

NSSAttributedString:相对于普通的String,叫做富文本

什么是富文本?文本带有一定的格式,类似网页的文本。

1:用NSSAttributedString处理简单的字符串

2:用NSSAttributedString处理段落样式

3:NSSAttributedString设置的作用域

常规用法:

NSAttributedString 使用详解_第1张图片
常规用法

截取并设置富文本

NSAttributedString 使用详解_第2张图片
截取并设置富文本

设置段落样式

NSAttributedString 使用详解_第3张图片
设置段落样式

NSAttributedString 的简易封装

封装的必要性

增加代码的可读性

如何来封装富文本控件?

1:创建AttributedStyle模型 继承自NSObject

NSAttributedString 使用详解_第4张图片
.h文件创建属性 遍历构造器 引入UIkit框架是为了以后写继承方便
NSAttributedString 使用详解_第5张图片
.m文件实现 记得用[self class]来初始化

2:创建NSString类目

NSAttributedString 使用详解_第6张图片
创建NSString类目

下面我们在类目文件中引入AttributedStyle模型并声明一个方法返回值为NSAttributedStyle 而外界则只需要给其传入含有过个AttributedStyle的数组即可

NSAttributedString 使用详解_第7张图片
类目.h文件 
NSAttributedString 使用详解_第8张图片
类目.m文件

接下来我们来使用这个类目:

NSAttributedString 使用详解_第9张图片
使用类目

对AttributedStyle的进一步封装:

1:创建ForeGroundColorStyle类继承自AttributedStyle类

2:创建留给外界的方法

3:实现方法

NSAttributedString 使用详解_第10张图片
给外界留个方法
NSAttributedString 使用详解_第11张图片
实现方法

同理,我们也可以对其他属性进行封装。下面我们换个方法调用

NSAttributedString 使用详解_第12张图片
用进一步封装的方法调用

运行效果:

NSAttributedString 使用详解_第13张图片
运行效果

NSMutableAttributedString*attrStr = [[NSMutableAttributedStringalloc]initWithString:_model.contentText];

//取范围

NSRangeendRange = [_model.contentTextrangeOfString:@":"];

NSRangerange =NSMakeRange(0, endRange.location+1);

//设置字体和设置字体的范围

[attrStraddAttribute:NSFontAttributeNamevalue:[UIFontsystemFontOfSize:30.0f]range:range];

//添加文字颜色

[attrStraddAttribute:NSForegroundColorAttributeNamevalue:[UIColorredColor]range:range];

//添加文字背景颜色

[attrStraddAttribute:NSBackgroundColorAttributeNamevalue:[UIColororangeColor]range:range];

//添加下划线

[attrStraddAttribute:NSUnderlineStyleAttributeNamevalue:[NSNumbernumberWithInteger:NSUnderlineStyleSingle]range:range];

你可能感兴趣的:(NSAttributedString 使用详解)