iOS 富文本组件

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

支持数据自动识别,添加链接,链接的长按手势识别

时间: 2024-10-09 10:10:18

iOS 富文本组件的相关文章

iOS富文本组件的实现—DTCoreText源码解析 数据篇

本文转载 http://blog.cnbang.net/tech/2630/ DTCoreText是个开源的iOS富文本组件,它可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView,来看看它是怎样解析和渲染HTML+CSS的,总体上分成两步: 数据解析—把HTML+CSS转换成NSAttributeString 渲染—用CoreText把NSAttributeString内容渲染出来,再加上图片等元素 本篇先介绍第一步,数据解

iOS富文本组件的实现—DTCoreText源码解析 渲染篇

本文转载至 http://blog.cnbang.net/tech/2729/ 上一篇介绍了DTCoreText怎样把HTML+CSS解析转换成NSAttributeString,本篇接着看看怎样把NSAttributeString渲染出来. CoreText 先简单介绍下CoreText,CoreText是iOS/OSX里的文字渲染引擎,在iOS/OSX上看到的所有文字在底层都是由CoreText去渲染. CoreText会把一行里连在一起相同属性的文字合在一起作为一个CTRun,每一行是一个

iOS 富文本

富文本 http://pan.baidu.com/s/1pJnY8BL 把这里下载的文件夹拖进自己的工程 引入头文件 #import "OHAttributedLabel.h" #import "OHParagraphStyle.h" #import "OHTouchesGestureRecognizer.h" 引入这3个头文件 添加 CoreText.framework // 创建富文本string NSMutableAttributedStr

iOS 富文本格式字符 以及处理iOS8下textview设置富文本后输入bug

iOS的富文本设置,在iOS8下在textView的代理方法中设置textview的attributedText时,会出现富文本格式未加到text上的情况,可以在初始化时将文本属性赋给textview的typingAttributes.代码如下: NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.lineSpacing = 7;// 字体的行间距 UIF

ios富文本

之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查遍其所有属性才发现,UITextView居然没有调整行间距的接口,于是忍住不心里抱怨了一下下. 但是问题还是要解决的,上网一查才发现,iOS不仅有富文本处理的功能,而且对于文字排版的处理能力那是相当的强大,看来我是孤陋寡闻了. 正题开始之前插播一点基础知识: 在iOS中或者Mac OS X中怎样才能

iOS 富文本初探

有的时候啊,我们需要在一行或者多行文本中显示不同颜色,不同字号的文字,甚至于有的需要点击,有的不需要.这统称为富文本. 在网页中,有很多类似的应用.除开网页,我现在遇到的这种情况也是非用不可,用户政策和用户协议在多语言的实现中,考虑到自适应,就必须显示在同一个控件中(UILabel/UITextView). NSMutableAttributedString/NSAttributedString用来表示富文本. 不如我们有一段文本,中间有两段是要求不同颜色显示,可以点击的,因为是国际化,每一段的

iOS 富文本类库RTLabel

本文转载至 http://blog.csdn.net/duxinfeng2010/article/details/9004749 本节关于RTLable基本介绍,原文来自 https://github.com/honcheng/RTLabel RTLabel 基于富文本的格式,适用于iOS,类似HTML的标记. RTLabel 基于UILabel类的拓展,能够支持Html标记的富文本显示,它是基于Core Text,因此也支持Core Text上的一些东西. 特点 粗体和斜体 颜色和大小 下划线

IOS 富文本 ,设置行间距、字间距,计算高度(转载组合而成)

一 计算高度 -(CGFloat)getSpaceLabelHeight:(NSString*)str withFont:(UIFont*)font withWidth:(CGFloat)width { NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init]; paraStyle.lineBreakMode = NSLineBreakByCharWrapping; paraStyle.alignmen

iOS富文本-NSAttributedString简单封装

直接调用系统的写起来比较麻烦,封装一下 因为要简单所以就写类方法 WJAttributeStyle 基类 #import <Foundation/Foundation.h>#import <UIKit/UIKit.h>/** *  基类富文本 */@interface WJAttributeStyle : NSObject @property (nonatomic,strong)NSString *attributeName;@property (nonatomic,strong)