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中使用场景和解决方案
项目中很多地方都会用到富文本的内容:比如一般的商品详情,视频详情,资讯详情等,运营人员通过后台的富文本编辑器编辑的内容,前端拿到的就是一段富文本的字符串,这富文本大多都是图片和文字的组合.我们今天介绍 ...
随机推荐
- Linkage Disequilibrium|D‘|r2
I.10 Other Measures of Linkage Disequilibrium 因为D的取值强烈地依赖于人为制定的等位基因频率(PA及PB),所以它不利于LD程度的比较.标准化的不平衡系数 ...
- $n$阶常微分方程通解中常数独立的意义
丁同仁,李承治编<常微分方程教程>第二版的定义1.3给出了 $ n$ 阶常微分方 程 $ {\displaystyle F(x,y,y',\cdots,y^{(n)})=0 \ \ \ \ ...
- HDU-6708 Windows Of CCPC(打表,递归)
http://acm.hdu.edu.cn/showproblem.php?pid=6708 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- 十八、linux系统分区
一.磁盘存储结构图:这里注意下,分区标有64字节,则每个分区有16字节,MBR引导分区有446字节,共有510字节,一个扇区有512字节,还有俩个字节是分区结束标识.比如隐藏文件等标识,都是这2个字节 ...
- Python与数据库
链接汇总 https://www.cnblogs.com/stacklike/category/1134822.html Python与数据库[1] -> 数据库接口/DB-API[0] -&g ...
- 统计学方法(t-检验)
数据出来要做几件事:首先判断数据是否符合正态分布,如果符合的话,就要进行t-检验,那么进行t-检验的作用在哪呢? t-检验主要用于样本含量较小(例如n<30),总体标准差σ未知的正态分布 htt ...
- [LC] 256. Paint House
There are a row of n houses, each house can be painted with one of the three colors: red, blue or gr ...
- Docker 安装 CentOS
Docker 安装 CentOS CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise ...
- 署名|单位地址|Abstract
科研论文写作---如何署名单位地址 署名的作者要研究结果负责,其署名作为对所作贡献的认可. 参与设计实验想法,参与实验过程,参与起草论文或重大修改论文,或对论文定稿的学者拥有署名权.而资金资助& ...
- python两个队列实现一个栈和两个栈实现一个队列
1.两个栈实现一个队列 两个栈stack1和stack2, push的时候直接push进stack1,pop时需要判断stack1和stack2中的情况.如果stack2不为空的话,直接从stack2 ...