iOS 计算UILable显示文字所需要的行数
来源:互联网 发布:mp3剪切合并软件 编辑:程序博客网 时间:2024/06/09 04:10
iOS 计算UILable显示文字所需要的行数
场景:
项目中经常有一些这样的需求,在页面上有可能会显示有一段很长的文字,但是呢为了显示效果,就会限制显示行数,如果感兴趣就点击按钮展开。
思路:
所谓行数,可以这样理解,先计算出展示这段文字一行所需要的宽度,然后拿这个宽度除以label的宽度,得到值向上取整就是行数。
实现:
写了一个UILabel分类,添加了一个方法,主要步骤写了注释。
/** 显示当前文字需要几行 @param width 给定一个宽度 @return 返回行数 */- (NSInteger)needLinesWithWidth:(CGFloat)width{ //创建一个labe UILabel * label = [[UILabel alloc]init]; //font和当前label保持一致 label.font = self.font; NSString * text = self.text; NSInteger sum = 0; //总行数受换行符影响,所以这里计算总行数,需要用换行符分隔这段文字,然后计算每段文字的行数,相加即是总行数。 NSArray * splitText = [text componentsSeparatedByString:@"\n"]; for (NSString * sText in splitText) { label.text = sText; //获取这段文字一行需要的size CGSize textSize = [label systemLayoutSizeFittingSize:CGSizeZero]; //size.width/所需要的width 向上取整就是这段文字占的行数 NSInteger lines = ceilf(textSize.width/width); //当是0的时候,说明这是换行,需要按一行算。 lines = lines == 0?1:lines; sum += lines; } return sum;}
阅读全文
0 0
- iOS 计算UILable显示文字所需要的行数
- iOS UILable 根据文字的多少改变UILable的大小
- IOS根据文字计算laber的行数与长度
- [iOS]关于计算文字所占范围大小的方法
- 创建UILable的时候,可以根据文字算出文字所占区域大小的方法
- IOS-55-UILable文字两边对齐的实现方式
- IOS UILable 设置部分文字的颜色颜色
- 计算以指定字体和字号输出指定文字,所需要的size 辅助函数
- IOS 计算文字显示的尺寸(文字显示所在的矩型的长宽)
- UILable文字置顶的解决方案
- iOS UIlable中文字过长时
- [iOS]UILable文字如何在顶部
- NGUI UILabel计算文字行数
- iOS 动态计算获取字数的行数
- 根据字体和文字来计算 UILable 的长度和大小
- 计算动态UILable的高度
- ios 根据总数和列数 计算显示行数
- IOS 根据 指定的 字体类型 ,size ,计算 绘制 文本 所需要的 宽度与高度
- 一流的报表产品Nevron Chart for SSRS更新v2016.1丨附下载
- PLSQL怎么创建oracle数据库用户
- 论文投稿 论文征稿
- 关于SecureCRT连接阿里云服务器提示需要public key的解决方案
- 关于github和sourcetree的ssh密钥配置教程
- iOS 计算UILable显示文字所需要的行数
- Tensorflow dynamic_rnn_decoder()
- Java 通过反射原理取得entity的值
- UIBezierPath画曲线控制点的选取
- c++中map排序
- oracle initialization or shutdown in progress解决方法
- centos7.3下二进制安装mysql5.7.19记录
- BZOJ1022: [SHOI2008]小约翰的游戏John
- Python基础小笔记《2017-10-18》