UILabel和UIbutton(富文本)封装方法

时间:2022-12-17 15:04:40
/**
方法说明:设置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. NFC

    NFC手机是指带有NFC模块的手机.带有NFC模块的手机可以做很多相应的应用.NFC是Near Field Communication缩写,即近距离无线通讯技术.在13.56MHz频率运行于20厘米距 ...

  2. 【PPT分享】五类常见的用户分析场景

    以下是参加一次沙龙的PPT,分享给大家.关于如何做用户分析的5类场景. 引言 借助“多渠道营销分析”,探究用户从哪里来?如何来? 平台和渠道矩阵 平台和渠道矩阵 跨平台和渠道访问特征分析 多渠道来源分 ...

  3. C++ Primer 5th 第5章 语句

    和大多数语言一样,C++提供了条件执行语句.重复执行相同代码的循环语句和由于中断当前控制流的跳转语句,表达式语句和声明语句等. 语句有简单语句和复合语句之分.简单语句但多数以分号结束,最简单的语句就是 ...

  4. .Net Core 2.0生态(3):ASP.NET Core 2.0 特性介绍和使用指南

    ASP.NET Core 2.0 发布日期:2017年8月14日 ASP.NET团队宣布ASP.NET Core 2.0正式发布,发布Visual Studio 2017 15.3支持ASP.NET ...

  5. WPF基础篇之系统中141种颜色

    WPF最大的特点就是酷炫的外观,在学习过程中经常看见各种渐变窗体.作为几乎没做过美工的程序员,我对各种颜色的argb值不熟,颜色的英文单词也只认识部分.为了不至于每次都用Colors点出颜色再随机挑选 ...

  6. 手机端3d旋转木马效果+保存图片到本地

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="U ...

  7. Openlayers地图量算功能

    http://openlayers.org/en/latest/examples/measure.html?q=measure   按官网的例子来就行,新建对象时注意加上命名空间   var vect ...

  8. php 逐行读取文本文件

    在读取文本时,我们要注意一个事情,那就是换行符,应为我们在写文档时会手动换行,这个换行符需不需要保存就要看自己的需求了. 这里封装了两个方法,一个保留换行,一个不保留.$path为文件路径+文件名 1 ...

  9. cogs 539&period; 牛棚的灯

    ★★☆   输入文件:lights.in   输出文件:lights.out   简单对比 时间限制:1 s   内存限制:128 MB [问题描述] 贝希和她的闺密们在她们的牛棚中玩游戏.但是天不从 ...

  10. 计蒜客 17417 Highest Tower(思维&plus;图论)

    题解: 实际上一个可行解即选取长和宽的一个,使得最后每一组选第一维的数值都不同 在此基础上,使得另一维的和最大. 然后建立图论模型 对于每一个方块,在a和b之间连边. 对于选择的方案,如果选择a-&g ...