图文混排其实很简单

作者: d2757084c82f | 来源:发表于2016-06-06 09:59 被阅读549次

要显示的文字

显示的最终效果:

技术点:UITextView+正则表达式+富文本

开始:新建工程,在storyboard文件中拖一个UITextView,拖一个属性出来叫tv,并进行如下设置

创建我们要显示的字符串

借助正则表达式找到要重点突出的内容,比如@朱主席 #老司机# 我们要找到它们还有它们在字符串中的位置(range),先来创建需要的正则表达式

开始匹配,在这里没有使用系统的正则表达式匹配,我们借助一个专门做正则表达式处理的第三方RegexKitLite,将RegexKitLite.h,RegexKitLite.m导入工程之后,进行mrc-arc的转换,并添加libicucore.tbd字符串处理库,导入头文件即可使用

查看匹配结果

打印结果如下:

可以看到正好是匹配出我们需要的四个部分,接下来就是遍历字符串找到这四个部分所在的位置并进行相应的操作即可,我们先来将这个普通字符串转化为富文本形式,并进行简单的设置

接下来就是遍历了,在这里注意一点,我们会将[挖鼻孔]转化为一张图片,[挖鼻孔]长度为5,转化为图片之后长度只有1,会影响到后面的内容所以我们要记录一下减少的部分(5-1 = 4),我们定义了一个全局变量来记录

下面这一部分就比较简单了

现在运行就能看到预期的效果了,剩下的工作就是点击网址能进行跳转,也就是能捕获到点击网址这个事件,这个只需要借助UITextView的一个代理方法即可

好吧,就讲到这,按照博客说的一步一步来做,就可以轻松实现一个富文本啦!!!


相关文章

  • 图文混排其实很简单

    要显示的文字 显示的最终效果: 技术点:UITextView+正则表达式+富文本 开始:新建工程,在storybo...

  • CoreText实现图文混排之文字环绕及点击算法

    系列文章: CoreText实现图文混排 CoreText实现图文混排之点击事件 CoreText实现图文混排之文...

  • CoreText实现图文混排之尺寸估算及文本选择

    系列文章: CoreText实现图文混排 CoreText实现图文混排之点击事件 CoreText实现图文混排之文...

  • CoreText实现图文混排

    系列文章: CoreText实现图文混排 CoreText实现图文混排之点击事件 CoreText实现图文混排之文...

  • CoreText实现图文混排之点击事件

    系列文章: CoreText实现图文混排 CoreText实现图文混排之点击事件 CoreText实现图文混排之文...

  • 其实很简单

    其实很简单(wm197049) 当一个小孩儿认为,他认为的世界是平面的,你千万不要惊讶,更不需要讪笑。这个是真实的...

  • 其实很简单

    有时候女生拒绝你的理由可能很简单 比如,她没洗头,又不好意思说 再比如,你没给对方留下收拾的时间 再比如,你说话的...

  • 其实很简单

    其实人很简单 遇见便已是预见 其实缘分很简单 如山谷中的呐喊 声声皆有回响

  • 其实很简单

    今天,大学室友领证结婚了。相识于今年四月底,男方刚刚分手,加了微信一两天左右在一起,十月领证。原本是关闭了朋友圈的...

  • 其实很简单!

    曾经中国说英国偷了我们东西,英国说他们保护了这些东西。很多人就在纠结到底是他们偷东西,还是他们保护了这些。...

网友评论

    本文标题:图文混排其实很简单

    本文链接:https://www.haomeiwen.com/subject/agirdttx.html