UILabel和UIbutton(富文本)封装方法
/**
方法说明:设置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(富文本)封装方法的更多相关文章
- React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例)
React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例) TextInput组件介绍 TextInput是一个允许用户在应用中通过键盘输入文本的基本组 ...
- 微信小程序中显示html富文本的方法
微信小程序中显示html富文本的方法 使用方法:git地址:https://github.com/icindy/wxParse 一.下载wxParse文件 二.在要引入的页面的js文件中,引入文件 j ...
- 记录一下UILabel加载富文本 iOS
一般情况下我们都习惯用webview加载富文本.但是webview比较消耗内存.然后发现其实本身可以用uilabel加载,性能还不错就记录下~~ 核心方法下面两个 -(NSMutableAttribu ...
- Attribute富文本使用方法
★★★Attribut富文本★★★ 在UITextView和UILable的使用中很多的时候会用到富文本. UITextView和UILable的区别在于: ★★★★UITextView 当文字大于一 ...
- JAVA 集成 Ueditor 百度富文本编辑器
开发环境:一个简单的SpringMVC框架中,用百度富文本编辑器 ueditor 实现图片和文件的上传 官网地址:http://ueditor.baidu.com/website/ 需要使用到的2个文 ...
- UILabel添加图片之富文本的简单应用
若想对UILabel添加图片,那么就需要使用NSMutableAttributedString来定义先定义一个普通的label UILabel *lab = [[UILabel alloc]initW ...
- 富文本常用封装(NSAttributedString浅析)
最近经常遇到关于富文本的一些需求,特此封装了几个最常用的API分享给大家,但授之以鱼不如授之以渔,接下来会顺便谈谈NSAttributedString,确保你读了本篇文章能够自己封装关于富文本的API ...
- UIlabel - 富文本属性
1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSFontAttributeName : [UIFont systemFontOfSize:_fontS ...
- iOS UILabel UITextView UIButton 等等显示文本行间距
iOS UILabel UITextView UIButton 等等显示文本行间距都用如下方法 NSMutableParagraphStyle *paragraphStyle = [[NSMutab ...
随机推荐
- protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object
使用protobuf出错:protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object ...
- JavaScript学习第四天
1.自定义属性,使用好索引值 例子: 下面有一段js代码: <script> window.onload = function(){ var oBtn = document.getElem ...
- SDUT OJ 进制转换
进制转换 Time Limit: 1000MS Memory limit: 65536K 题目描述 输入一个十进制数N,将它转换成R进制数输出. 输入 输入数据包含多个测试实例,每个测试实例包含两个整 ...
- 详细阐述ping命令中请求超时与无法访问的区别
1.Request timed out 这是大家经常碰到的提示信息,很多文章中说这是对方机器置了过滤ICMP数据包,从上面工作过程来看,这是不完全 正确的,至少有下几种情况. (1) 对方已关机,或者 ...
- mac配置apache
http://www.cnblogs.com/snandy/archive/2012/11/13/2765381.html 用自带的 sudo apachectl -v sudo apachectl ...
- 关于VLOOKUP函数的用法
“Lookup”的汉语意思是“查找”,在Excel中与“Lookup”相关的函数有三个:VLOOKUP.HLOOKUO和LOOKUP.下面介绍VLOOKUP函数的用法. 一.功能 在表格的首列查找指定 ...
- MySQL索引优化-from 高性能MYSQL
Btree: 1. 尽量使用覆盖索引, 即三星索引 2. 多列索引如果带范围的话, 后续列不会作为筛选条件 3. 多列索引应选择过滤性更好的充当前缀索引 4. 尽量按主键顺序插入, 减少页分裂, 采用 ...
- mysql批量sql插入优化
对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长.特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的. ...
- python与c#的交互模块pythonnet
今天总结一下python与c#的交互模块pythonnet,其实微软也是有相应的解释器的,就是Ironpython,可是毕竟Ironpython还有很多东西没有从python那边继承过来,所以有时候用 ...
- 小程序wx:key中的关键字*this
“保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字,如果是对象则不可以 data:{ array:[1,2,3,4,5], ob ...