在开发中经常遇到富文本显示效果的功能,于是自己就琢磨封装了个URLSeletedLabel类。
简介
首先,这个只是用于富态文本的显示,及点击效果处理,对于文字的处理这里使用到了TextAttributeString的一个类,来设置显示的内容属性。TextAttributeString中提供了两个方法来进行富态文本的设置+ (ResultAttributeModel*)attributedStringSubset:(NSString*)string textFont:(NSInteger)textFonet;和+ (NSMutableAttributedString*)matchAttribtueString:(NSString*)string textFont:(NSInteger)textFont;
第一个方法中使用到了RegexKitLite这个类来匹配相应的字符串并进行设置;第二方法使用的正则匹配的方式。
(一)
导入RegexKitLite类之后进行相关设置
(二)
以上两个是富态文本设置的具体细节。下面来介绍一下URLSeletedLabel的使用
在这个类中主要使用到了三个类来设置点击效果如下图。
点击效果设置原理:当我们点击在label能够通过以下方法来获取到点击的字段和该字段的范围,此时我们重新绘制一下布局,并给绘制的图层添加颜色,如果选中的范围为空此时图层颜色就为clearColor,即使绘制也显示不出来。主要方法如下:
Demo链接:https://github.com/guohongqi-china/LinkSeletedEffect.git