支持超链接的Label

iOS开发封装一个可以响应超链接的label——基于RCLabel的交互扩展

孤街醉人 提交于 2019-12-10 14:31:06
iOS开发封装一个可以响应超链接的label——基于RCLabel的交互扩展 一、引言 iOS系统是一个十分注重用户体验的系统,在iOS系统中,用户交互的方案也十分多,然而要在label中的某部分字体中添加交互行为确实不容易的,如果使用其他类似Button的控件来模拟,文字的排版又将是一个解决十分困难的问题。这个问题的由来是项目中的一个界面中有一些广告位标签,而这些广告位的标签却是嵌在文本中的,当用户点击文字标签的位置时,会跳转到响应的广告页。 CoreText框架和一些第三方库可以解决这个问题,但直接使用CoreText十分复杂,第三方库多注重于富文本的排版,对类似文字超链接的支持亦不是特别简洁,我们可以借助一些第三方的东西进行针对性更强,更易用的封装。 RCLabel是一个第三方的将html字符串进行文本布局的工具,代码十分轻巧,并且其是基于CoreText框架的,其原生性和扩展性十分强。在以前的一篇博客中,我将RCLabel进行了一些改进,使其支持异步加载远程图片,并且提供了更加简洁的面向应用的方法,博客地址如下: 扩展于RCLabel的支持异步加载网络图片的富文本引擎的设计: http://my.oschina.net/u/2340880/blog/499311 。 本篇博文,将在其基础上,完成设计一个可以支持文本超链接的文字视图。 二、视图类与模型类的设计