星空网 > 软件开发 > 操作系统

TTTAttributedLabel 如何将多个字符串高亮显示

 

TTTAttributedLabel进行多个字符串的高亮显示。

需要对每个字符串进行匹配,从而得到所有需要高亮的NSRange,然后利用NSMutableAttributedString对每个NSRange添加attribute

 

首先 是字符串匹配算法,可以研究下kmp和bm算法,这里我直接用了OC自带的 NSRegularExpression 来进行正则表达式匹配,应该算是最简单直接的方式了

TTTAttributedLabel 如何将多个字符串高亮显示images/loading.gif' data-original="http://images0.cnblogs.com/blog2015/644203/201507/291134031101918.png" />

 

传入字符串text,和需要高亮的字串patterns , 正则表达式就是字串的 "|" 集合, 根据正则表达式进行字串的大小写不敏感匹配, 然后枚举生成的NSTextCheckingResult,保存在数组中,接下来就可以对label字体进行设置了

TTTAttributedLabel 如何将多个字符串高亮显示这里用的是TTTAttribute的setText:afterInheritingLabelAttributesAndConfiguringWithBlock:方法, 在代码块里面遍历所有的NSTextCheckingResult对象,对其中的NSRange进行颜色字体的设置就完成了想要的效果

 

当然,也可以进行字符串的裁剪,本人自己的一个解决方案是给定一个需要的最大的字符串长度,进行裁剪

TTTAttributedLabel 如何将多个字符串高亮显示

因为需求多种多样,裁剪的部分也不尽相同,这个就只能帮到这里了,如果有比较有趣或者奇葩的裁剪需求,欢迎和本人交流。

 

附上效果图一枚 :

TTTAttributedLabel 如何将多个字符串高亮显示

 

具体源码请访问 http://www.cnblogs.com/sely-ios/p/4552134.html

 




原标题:TTTAttributedLabel 如何将多个字符串高亮显示

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

VAT税务筹划最佳方法与方法:https://www.kjdsnews.com/a/1341185.html
VAT税务筹划如何算出最佳结果:https://www.kjdsnews.com/a/1341186.html
VAT税务筹划如何正确计算税收:https://www.kjdsnews.com/a/1341187.html
VAT税务税务筹划的重要方法:https://www.kjdsnews.com/a/1341188.html
VAT税务税务筹划方法及其实施方法:https://www.kjdsnews.com/a/1341189.html
VAT税务知识普及如何正确缴纳VAT税款:https://www.kjdsnews.com/a/1341190.html
云南抚仙湖旅游攻略更佳行程安排,景点攻略大全:https://www.vstour.cn/a/408242.html
珠海附近过年旅游景点 珠海附近过年旅游景点免费:https://www.vstour.cn/a/408243.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流