iOS 开发富文本之TTTAttributedLabel 在某个特定位置的文字添加跳转,下划线,修改字体大小,颜色
@property(nonatomic , strong) TTTAttributedLabel * ttLabel; @property(nonatomic , strong) NSRange lineboldRange; @property(nonatomic , strong) NSRange lineboldRange1;
全局变量
_ttLabel = [[TTTAttributedLabelalloc]initWithFrame:CGRectMake(,,self.view.width-,)]; _ttLabel.numberOfLines = ; _ttLabel.lineSpacing = ; _ttLabel.font = [UIFontsystemFontOfSize:]; _ttLabel.textColor = [UIColorlightGrayColor]; _ttLabel.delegate = self; //检测url _ttLabel.enabledTextCheckingTypes=NSTextCheckingTypeLink; //对齐方式 _ttLabel.verticalAlignment=TTTAttributedLabelVerticalAlignmentTop; [self.viewaddSubview:_ttLabel]; NSString*tempStr =@"确定讲银行卡更换为尾号为6723的建设银行的银行卡\n同意《自动扣款协议》和《快捷支付服务协议》"; CGSizetSize = [_ttLabelsetLines: andText:tempStrMWidth:(self.view.width-)LineSpacing:]; _ttLabel.frame=CGRectMake(,,self.view.width-, tSize.height+); [_ttLabelsetText:tempStrafterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString*(NSMutableAttributedString*mutableAttributedString) { //设置可点击文字的范围 NSRangeboldRange = [[mutableAttributedStringstring]rangeOfString:@"《自动扣款协议》"options:NSCaseInsensitiveSearch]; _lineboldRange = boldRange; NSRangeboldRange1 = [[mutableAttributedStringstring]rangeOfString:@"《快捷支付服务协议》"options:NSCaseInsensitiveSearch]; _lineboldRange1 = boldRange1; //设定可点击文字的的大小 UIFont*boldSystemFont = [UIFontsystemFontOfSize:]; 24 CTFontReffont =CTFontCreateWithName((__bridgeCFStringRef)boldSystemFont.fontName, boldSystemFont.pointSize,NULL); if(font) { //设置可点击文本的大小 [mutableAttributedStringaddAttribute:(NSString*)kCTFontAttributeNamevalue:(__bridgeid)fontrange:boldRange]; [mutableAttributedStringaddAttribute:(NSString*)kCTFontAttributeNamevalue:(__bridgeid)fontrange:boldRange1]; //设置可点击文本的颜色 [mutableAttributedStringaddAttribute:(NSString*)kCTForegroundColorAttributeNamevalue:(id)[[UIColorblackColor]CGColor]range:boldRange]; [mutableAttributedStringaddAttribute:(NSString*)kCTForegroundColorAttributeNamevalue:(id)[[UIColorblackColor]CGColor]range:boldRange1]; //添加下划线 [mutableAttributedStringaddAttribute:NSUnderlineStyleAttributeNamevalue:[NSNumbernumberWithInteger:NSUnderlineStyleSingle]range:boldRange]; [mutableAttributedStringaddAttribute:NSUnderlineStyleAttributeNamevalue:[NSNumbernumberWithInteger:NSUnderlineStyleSingle]range:boldRange1]; CFRelease(font); } returnmutableAttributedString; }]; NSURL*firstUrl = [NSURLURLWithString:@"http://www.baidu.com"]; NSURL*lastUrl = [NSURLURLWithString:@"http://www.xiaomi.com"]; //添加url [_ttLabeladdLinkToURL:firstUrlwithRange:_lineboldRange]; [_ttLabeladdLinkToURL:lastUrlwithRange:_lineboldRange1];
#pragma mark ------ TTTAttributedLabelDelegate ------ - (void)attributedLabel:(TTTAttributedLabel*)label didSelectLinkWithURL:(NSURL*)ur { NSLog(@"打印设置的URL%@进行跳转处理",url); }
iOS 开发富文本之TTTAttributedLabel 在某个特定位置的文字添加跳转,下划线,修改字体大小,颜色的更多相关文章
- iOS开发富文本制作 图片和文字/NSMutableParagraphStyle/NSMutableAttributedString
/NSMutableParagraphStyle/NSMutableAttributedString 组合使 NSString * titlestr=@"日产GT-R"; NSMu ...
- iOS开发富文本
NSMutableAttributedString * attributedStr = [[NSMutableAttributedString alloc] initWithString:@" ...
- iOS UILabel换行同时修改字体大小颜色
UIButton *onlyPriceBtn = [UIButton buttonWithType:UIButtonTypeCustom]; onlyPriceBtn.layer.borderColo ...
- draft.js开发富文本编辑器
写在前头的话 在react中去寻找一个好用的富文本编辑器网上很少有推荐的,搜到的也只有一些个人不成熟的作品,慢慢发现网上比较推荐的一个东东叫做draft.js. 这个东西在网上可以找到的教程也是手指头 ...
- iOS之富文本
之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查 ...
- iOS之富文本(二)
之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结 ...
- iOS - NSMutableAttributedString富文本的实现
NSMutableAttributedString继承于NSAttributedString(带属性的字符串)能够简单快速实现富文本的效果;不多说直接上效果图和代码,通俗易懂: (一)效果图: (二) ...
- IOS开发计算文本尺寸
在IOS开发中例如微博,QQ聊天界面中要显示大量的文字信息,这样需要计算出文字部分的尺寸,才能设计出合适的控件尺寸和位置.下面是IOS 7.0计算文本尺寸的方法.- (CGRect)boundingR ...
- iOS swift 富文本显示 富文本在iOS中使用场景和解决方案
项目中很多地方都会用到富文本的内容:比如一般的商品详情,视频详情,资讯详情等,运营人员通过后台的富文本编辑器编辑的内容,前端拿到的就是一段富文本的字符串,这富文本大多都是图片和文字的组合.我们今天介绍 ...
随机推荐
- CodeForces 438D The Child and Sequence (线段树 暴力)
传送门 题目大意: 给你一个序列,要求在序列上维护三个操作: 1)区间求和 2)区间取模 3)单点修改 这里的操作二很讨厌,取模必须模到叶子节点上,否则跑出来肯定是错的.没有操作二就是线段树水题了. ...
- GIS开源库OpenSceneGraph(OSG)、OSGEarth、GDAL、Qt、CGAL、Boost
GIS开源有这些库:OpenSceneGraph(OSG).OSGEarth.GDAL.Qt.CGAL.Boost
- 搭建Docker私有仓库&用户密码认证&web可视化界面
1.拉取镜像 docker pull hyper/docker-registry-web docker pull registry 2.安装 yum install docker-compose 3. ...
- python_数据类型_总结
- QLIKVIEW-日期格式,数字格式写法
LOAD T_SAL_ORDER.LE_ID, [T_SAL_ORDER.LCY CODE], T_SAL_ORDER.SYSTEM, T_SAL_ORDER.#DataDateTime, T_SAL ...
- 五、RabbitMQ Java Client基本使用详解
Java Client的5.x版本系列需要JDK 8,用于编译和运行.在Android上,仅支持Android 7.0或更高版本.4.x版本系列支持7.0之前的JDK 6和Android版本. 加入R ...
- 为什么jdk1.8 HashMap的容量一定要是2的n次幂
一.jdk1.8中,对“HashMap的容量一定要是2的n次幂”做了严格控制 1.默认初始容量: [Java] 纯文本查看 复制代码 ? 1 2 3 4 /** * The default init ...
- 【待填坑】LG_4996_咕咕咕
正解思路和[AHOI]的中国象棋非常相似,同样是利用状态不一定一定要表示出来,利用组合数学递推节省枚举时间.
- 吴裕雄--天生自然HTML学习笔记:HTML 表单和输入
HTML 表单用于收集不同类型的用户输入. <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...
- C++中字符串的表示与转换
转换总结 1.char*转string:可以直接赋值. 2.char[]转string:可以直接赋值. 3.char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用st ...