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 ...
随机推荐
- Codeforces Round #138 (Div. 2) A. Parallelepiped
A. Parallelepiped time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- CSU - 1550 Simple String —— 字符串
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550 题解: 1.A+B 与C的交集必须>=n 2.A与C的交集必须>= ...
- Centos下Docker安装与使用的相关命令
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 systemctl docker status yum-config- ...
- codeforces 450B B. Jzzhu and Sequences(矩阵快速幂)
题目链接: B. Jzzhu and Sequences time limit per test 1 second memory limit per test 256 megabytes input ...
- 编码 —— PCM 编码
PCM:Pulse Code Modulation,脉冲编码调制: 1. 码率的计算 PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准,并不意味着PCM就能够确保信号绝对保真,PCM ...
- Java中的final和static
final final可以用在类.方法.变量上. 1.final用在类上,表明当前类它不能被继承,没有子类. 2.final用在方法上,表明当前方法不能被override,不能被重写. 3.final ...
- Codeforces Round #535(div 3) 简要题解
Problem A. Two distinct points [题解] 显然 , 当l1不等于r2时 , (l1 , r2)是一组解 否则 , (l1 , l2)是一组合法的解 时间复杂度 : O(1 ...
- js 判断滚动条是不是在浏览器底部
http://jingyan.baidu.com/album/86f4a73e91da7837d65269d5.html?picindex=2
- ubuntu下网络性能测试
iperf的主要功能 TCP 测量网络带宽 报告MSS/MTU值的大小和观测值 支持TCP窗口值通过套接字缓冲 当P线程或Win32线程可用时,支持多线程.客户端与服务端支持同时多重连接 UDP 客户 ...
- GMap.NET 显示GIF图标的定制
利用System.Drawing.ImageAnimator类实现GIF图标显示 public class GMapMarkerImage : GMapMarker { private Image i ...