iOS6 之后,UILabel加入了attributedText属性,为UILabel的文本显示添加了巨大的变化,
attributedText使用coreText绘制,支持文本域字体、颜色等设置。
在iOS6 之前,UILabel 只能按照font,textColor属性设置的字体和颜色显示文本,不能对文本中一段文本进行单独的字体和颜色的设置,也不支持url识别,下划线添加,字体加粗等功能。在实际开发中对富文本组件的需求是非常高的,所以出现了很多第三方的富文本组件。
OHAttributedLabel(https://github.com/AliSoftware/OHAttributedLabel)
在github上获得1367星,是很优秀的项目,作者已经不在维护,iOS6之后使用OHAttributeStringAdditions(https://github.com/AliSoftware/OHAttributedStringAdditions)
RTLabel(https://github.com/honcheng/RTLabel)
基于HTML标签显示富文本,对HTML文本支持是比较好的,最近一年没有更新
DTCoreText(https://github.com/Cocoanetics/DTCoreText)
对HTML文本支持比较好,在github上获得3030个星,更新比较快,文件比较多
这里有一篇文章对DTCoreText的源码解析(http://blog.cnbang.net/tech/2630/)
TTTAttributedLabel(https://github.com/TTTAttributedLabel/TTTAttributedLabel)
支持数据自动识别,添加链接,链接的长按手势识别