本节关于RTLable基本介绍,原文来自 https://github.com/honcheng/RTLabel
RTLabel
基于富文本的格式,适用于iOS,类似HTML的标记。
RTLabel 基于UILabel类的拓展,能够支持Html标记的富文本显示,它是基于Core Text,因此也支持Core Text上的一些东西。
特点
- 粗体和斜体
- 颜色和大小
- 下划线
- 缩进
- 字距
- 行距
- 超链接
用法
1)将RTLabel.h 和 RTLabel.m 拖拽道你的工程中,导入Core Text.framework。添加头文件
1 #import "RTLabel.h"
2)创建一个RTLabel
1 NSString *sample_text = @"<b>bold</b>,<i>italic</i> and <u>underlined</u> text, and <font face='HelveticaNeue-CondensedBold' size=20 color='#CCFF00'>text with custom font and color</font>"; 2 3 RTLabel *label = [[RTLabel alloc] initWithFrame:...]; 4 [self addSubview:label]; 5 [label setText:sample_text];
3)支持以下标签
1 <b>Bold</b> 2 <i>Italic</i> 3 <bi>Bold & Italic</bi> 4 <u>underline</u>, <u color=red>underline with color</u> 5 <a href='http://..'>link</a> 6 <uu>double underline</uu> , <uu color='#ccff00'>double underline with color</uu> 7 <font face='HelveticaNeue-CondensedBold' size=20 color='#CCFF00'>custom font</font> 8 <font face='HelveticaNeue-CondensedBold' size=20 color='#CCFF00' stroke=1>custom font with strokes</font> 9 <font face='HelveticaNeue-CondensedBold' size=20 color='#CCFF00' kern=35>custom font with kerning</font> 10 <p align=justify>alignment</p> 11 <p indent=20>indentation</p>
4)<a>标签处理
若需要对a标签的点击事件进行处理,则需要实现 <RTLabelDelegate> 并且实现其代理方法,如下:
1 #pragma mark RTLabel delegate 2 3 - (void)rtLabel:(id)rtLabel didSelectLinkWithURL:(NSURL*)url 4 { 5 NSLog(@"did select url %@", url); 6 }
最低要求
- ARC -RTLabel使用了ARC,如果你的工程没有使用ARC,在编译时 compiler flag 上 添加 '-fobjc-arc'(如下图显示)
- XCode 4.4 或以上新版本。