(转载)iOS UILabel自定义行间距时获取高度
2016-01-05 19:36
309 查看
本文介绍一下自定义行间距的UILabel的高度如何获取,需要借助一下开源的UILabel控件:TTTAttributedLabel
附下载地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel
下载后,添加到工程里面,导入头文件
直接上代码
附下载地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel
下载后,添加到工程里面,导入头文件
#import "TTTAttributedLabel.h"
直接上代码
NSString *str = @"UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度."; //创建tttLabel TTTAttributedLabel *tttLabel = [[TTTAttributedLabel alloc] initWithFrame:CGRectMake(30, 55, 300, 100)]; tttLabel.lineBreakMode = NSLineBreakByCharWrapping; tttLabel.lineSpacing = 6;//设置行间距 tttLabel.font = [UIFont systemFontOfSize:12]; tttLabel.numberOfLines = 0; //设置行数为0 [tttLabel setText:str]; tttLabel.textAlignment = NSTextAlignmentLeft; tttLabel.backgroundColor = [UIColor redColor]; [self.view addSubview:tttLabel]; //获取tttLabel的高度 //先通过NSMutableAttributedString设置和上面tttLabel一样的属性,例如行间距,字体 NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:str]; //自定义str和TTTAttributedLabel一样的行间距 NSMutableParagraphStyle *paragrapStyle = [[NSMutableParagraphStyle alloc] init]; [paragrapStyle setLineSpacing:6]; //设置行间距 [attrString addAttribute:NSParagraphStyleAttributeName value:paragrapStyle range:NSMakeRange(0, str.length)]; //设置字体 [attrString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:12] range:NSMakeRange(0, str.length)]; //得到自定义行间距的UILabel的高度 CGFloat height = [TTTAttributedLabel sizeThatFitsAttributedString:attrString withConstraints:CGSizeMake(300, MAXFLOAT) limitedToNumberOfLines:0].height; //重新改变tttLabel的frame高度 CGRect rect = tttLabel.frame; rect.size.height = height; tttLabel.frame = rect;
相关文章推荐
- IOS(UI)_UIButton(按钮)和UIImageView(图片按钮)
- iOS开发学习之UI篇 1、UIView
- IOS(UI)_UILabel(标签)
- UE 无法初始化FTP组件
- 有value时,li元素序列号就是value值,没有value,则会递增
- 关于百度 UEditor的使用
- Android can only be built by versions 3.81 and 3.82
- Arduino 中断和定时器
- lintcode :implement queue by two stacks 用栈实现队列
- UIAlertController
- UIView设置指定的border
- 给UIView 的子类们 UIButton UILbel等 。。。。加一个虚线圆角的border
- wifi模块ESP8266_AT arduino 库文件部分方法解析及优化
- iOS中xcode的调试技巧(打印UI层次、po)
- 项目文件包含 ToolsVersion="12.0" 设置,而此版本的 MSBuild 不支持该工具版本
- easyUI——easyui-textbox输入框绑定blur事件
- [iOS-UI]点击清空按钮,却会有提交的感觉
- UIScrollView的常用属性和方法(自己总结)
- iOS UIScrollView常用属性、回调方法
- jquey 中.live 和.bind区别