/**
方法说明:设置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. BAT网络运维常见面试题目总结

    BAT常见面试题目总结 Author:Danbo 2015-7-11 TCP/IP详解鸟哥Linux的书网络安全ping的原理make的过程文件有哪些类型各种Linux发行版的区别.有关suid的作用 ...

  2. egret+git+阿里云code搭建团队开发

    准备: GIT客户端 廖雪峰老师GIT教程 GIT客户端安装完成后,打开Git Bash ,输入代码 ,设置git提交与获取的git账户信息 git config --global user.name ...

  3. 创建一个catkin工作空间

    先确定自己的环境变量是否设置正确 export | grep ROS 若出现如下的,说明是正确的 declare -x ROSLISP_PACKAGE_DIRECTORIES="" ...

  4. centos 配置

    安装 node 源地址: http://my.oschina.net/blogshi/blog/260953 (一) 编译好的文件 简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你 ...

  5. BluetoothLE-Multi-Library

    github地址:https://github.com/qindachang/BluetoothLE-Multi-Library BluetoothLE-Multi-Library 一个能够连接多台蓝 ...

  6. Java网络编程InetAddress类

    InetAddress用来代表IP地址.一个InetAdress的对象就代表着一个IP地址, getByName(String host):在给定主机名的情况下确定主机的 IP 地址,主机名可以是机器 ...

  7. syslog格式

    转自:http://wly719.iteye.com/blog/1827394 1.syslog格式介绍 在Unix类操作系统上,syslog广泛 应用于系统日志.syslog日志消息既可以记录在本地 ...

  8. 算法实现c语言--02

    从键盘上输入字符,将小写字母转换成大写字母.输入“ctl + z” 结束 . #include<stdio.h> #include<stdlib.h> //从键盘上输入字符,将 ...

  9. json数组对象和对象数组 ---OK

    一.Json的简单介绍 从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第 ...

  10. LearnToRank

    1 概述 RankNet.LambdaRank和LambdaMART是三个关系非常紧密的机器学习排序算法.简而言之,RankNet是最基础,基于神经网络的排序算法:而LambdaRank在RankNe ...