/**
方法说明:设置label的富文本属性
参数说明:contentStr富文本内容
textColor字体颜色
rangeSet设置字体颜色及大小的位置
*/
- (UILabel *)backfwbLabelWithText:(NSString *)contentStr textColor:(NSString *)textColor rangeSet:(NSInteger)rangeSet
{
// 文本信息
NSString *str = contentStr;
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:str];
// attrStr添加字体和设置字体的范围
[attrStr addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:14.0f]
range:NSMakeRange(, rangeSet)];
// attrStr添加文字颜色
[attrStr addAttribute:NSForegroundColorAttributeName
value:getColor(textColor)
range:NSMakeRange(, rangeSet)];
// 段落样式
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
//行间距
paragraph.lineSpacing = ;
//段落间距
paragraph.paragraphSpacing = ;
//对齐方式
paragraph.alignment = NSTextAlignmentLeft;
//指定段落开始的缩进像素
paragraph.firstLineHeadIndent = ;
//调整全部文字的缩进像素
paragraph.headIndent = ; [attrStr addAttribute:NSParagraphStyleAttributeName
value:paragraph
range:NSMakeRange(, [str length])];
// 添加Label
UILabel *firstLabel = [[UILabel alloc] initWithFrame:CGRectZero];
firstLabel.backgroundColor = getColor(whiteColor);
firstLabel.font = DEF_FontSize_10;
//自动换行
firstLabel.numberOfLines = ;
//设置label的富文本
firstLabel.attributedText = attrStr;
//label高度自适应
[firstLabel sizeToFit]; return firstLabel;
}
- (UIButton *)yhxyBtn
{
if (!_yhxyBtn) {
// 文本信息
NSString *str = @"登录代表你已同意《非定不可用户协议》";
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:str];
// attrStr添加字体和设置字体的范围
[attrStr addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:13.0f]
range:NSMakeRange(, )];
// attrStr添加文字颜色
[attrStr addAttribute:NSForegroundColorAttributeName
value:getColor(mainColor)
range:NSMakeRange(, )];
// 段落样式
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
//行间距
paragraph.lineSpacing = ;
//段落间距
paragraph.paragraphSpacing = ;
//对齐方式
paragraph.alignment = NSTextAlignmentLeft;
//指定段落开始的缩进像素
paragraph.firstLineHeadIndent = ;
//调整全部文字的缩进像素
paragraph.headIndent = ; [attrStr addAttribute:NSParagraphStyleAttributeName
value:paragraph
range:NSMakeRange(, [str length])];
_yhxyBtn = [[UIButton alloc]init];
[_yhxyBtn setBackgroundColor:[UIColor clearColor]];
//设置label的富文本
[_yhxyBtn setAttributedTitle:attrStr forState:UIControlStateNormal];
[_yhxyBtn setTitleColor:getColor(textColor) forState:UIControlStateNormal];
}
return _yhxyBtn;
}

UILabel和UIbutton(富文本)封装方法的更多相关文章

  1. React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例)

    React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例) TextInput组件介绍 TextInput是一个允许用户在应用中通过键盘输入文本的基本组 ...

  2. 微信小程序中显示html富文本的方法

    微信小程序中显示html富文本的方法 使用方法:git地址:https://github.com/icindy/wxParse 一.下载wxParse文件 二.在要引入的页面的js文件中,引入文件 j ...

  3. 记录一下UILabel加载富文本 iOS

    一般情况下我们都习惯用webview加载富文本.但是webview比较消耗内存.然后发现其实本身可以用uilabel加载,性能还不错就记录下~~ 核心方法下面两个 -(NSMutableAttribu ...

  4. Attribute富文本使用方法

    ★★★Attribut富文本★★★ 在UITextView和UILable的使用中很多的时候会用到富文本. UITextView和UILable的区别在于: ★★★★UITextView 当文字大于一 ...

  5. JAVA 集成 Ueditor 百度富文本编辑器

    开发环境:一个简单的SpringMVC框架中,用百度富文本编辑器 ueditor 实现图片和文件的上传 官网地址:http://ueditor.baidu.com/website/ 需要使用到的2个文 ...

  6. UILabel添加图片之富文本的简单应用

    若想对UILabel添加图片,那么就需要使用NSMutableAttributedString来定义先定义一个普通的label UILabel *lab = [[UILabel alloc]initW ...

  7. 富文本常用封装(NSAttributedString浅析)

    最近经常遇到关于富文本的一些需求,特此封装了几个最常用的API分享给大家,但授之以鱼不如授之以渔,接下来会顺便谈谈NSAttributedString,确保你读了本篇文章能够自己封装关于富文本的API ...

  8. UIlabel - 富文本属性

    1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSFontAttributeName : [UIFont systemFontOfSize:_fontS ...

  9. iOS UILabel UITextView UIButton 等等显示文本行间距

    iOS UILabel  UITextView UIButton 等等显示文本行间距都用如下方法 NSMutableParagraphStyle *paragraphStyle = [[NSMutab ...

随机推荐

  1. Dynamic Web Module to 3.0 报错

    一.问题 使用maven项目创建的webapp项目Dynamic Web Module 默认是2.3. 当我们要切换到3.0的时候出现这个错误. 二.解决 1.点击进入Navigator view ( ...

  2. Gym - 100676E —— 基础题

    题目链接:https://odzkskevi.qnssl.com/1110bec98ca57b5ce6aec79b210d2849?v=1490453767 题解: 这种方法大概跟离散化扯上点关系:首 ...

  3. tableView滑动时cell消失

    最近做的工程中,出现个奇怪的问题吗,就是上下滑动tableView的时候,cell还未出屏幕就消失了,找了很久找到了原因,是因为界面中需要的cell有很多种,而有的cell的高度是一开始算出来或是固定 ...

  4. html5--3.18 新增的output元素

    html5--3.18 新增的output元素 学习要点 了解output元素的用法 output元素:数据的输出 output元素是HTML5新增的元素,用来设置不同数据的输出 output元素的输 ...

  5. Rsyslog 日志相关内容

    [root@server vusers_home]# rpm -ql rsyslog|more       ###.so结尾为模块,模块有分im为输入模块,om 为输出模块/etc/logrotate ...

  6. 移植最新版libmemcached到VC++的艰苦历程和经验总结(上)

    零.前言: 该篇博客的Title原计划是“在VC++中调用libmemcached的设计技巧”,可结果却事与原违,原因很简单,移植失败了.尽管结果如此,然而这3天的付出却是非常值得的,原因也很简单,收 ...

  7. 二级ul li元素动态加载click事件

    一.代码 html代码: <ul class="id1" id="id1" style="width:84%; height:75%;overf ...

  8. int和Integer及拆箱与装箱

    int和Integer 如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下In ...

  9. Flutter实战视频-移动电商-62.购物车_首页Provide化 让跳转随心所欲

    62.购物车_首页Provide化 让跳转随心所欲 新建provide/currentIndex.dart 内容比较简单,定义一个变量当前页面的索引currentIndex,再定义一个方法改变它的值 ...

  10. CodeForces - 357C Knight Tournament 伪并查集(区间合并)

    Knight Tournament Hooray! Berl II, the king of Berland is making a knight tournament. The king has a ...