计算多行文字,高度展示不对的问题
2016-01-22 18:04
232 查看
今天是周五,上班时候偷了点懒,没有去学习别人的博客,所以先写一下昨天遇到的小问题,在计算文字高度正确时,展示的UILab出现了高度不够的问题。
首先如题目上所说我在项目中计算了文字代码如下:
得到的是一个CGRect,来供我给我的UILab设置大小,但是因为文字比较多(我的行数已经设置成多行),效果则变成了这样:
原因:
通过打断点观察,titleRect的矩形大小并没有问题,UILab的Frame也没有任何问题,那么哪里为什么会出现,展示文字时,矩形空间不够的情况呢?
想法:
经过后期观察我们发现,单行时如此操作不会出现类似的问题,但是多行时会出现,主要是由于“计算文字大小”这个算法木有计算文字在对象中间隙的问题,所以展示时文字多行本身会自动加上间隙,然而计算时总是少算一行。
解决:
之后发现了,一个非常简单的办法,就是给UILab高度加1,只用加1就好,再多几行也不会有事了。
改正后的效果:
感谢观看, 学以致用更感谢!
首先如题目上所说我在项目中计算了文字代码如下:
CGRect titleRect = [@"款进口大众尚酷款进口大众尚酷款进口大众尚酷款进阿斯顿" boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14.]} context:nil]; UILabel *titleLab = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, titleRect.size.width, titleRect.size.height)]; titleLab.numberOfLines = 0; titleLab.backgroundColor = [UIColor redColor]; titleLab.font = [UIFont systemFontOfSize:14.]; titleLab.text = @"款进口大众尚酷款进口大众尚酷款进口大众尚酷款进阿斯顿"; titleLab.textColor = [UIcolors colorWithHexValue:0x3e3a39 alpha:1.]; [self addSubview:titleLab];
得到的是一个CGRect,来供我给我的UILab设置大小,但是因为文字比较多(我的行数已经设置成多行),效果则变成了这样:
原因:
通过打断点观察,titleRect的矩形大小并没有问题,UILab的Frame也没有任何问题,那么哪里为什么会出现,展示文字时,矩形空间不够的情况呢?
想法:
经过后期观察我们发现,单行时如此操作不会出现类似的问题,但是多行时会出现,主要是由于“计算文字大小”这个算法木有计算文字在对象中间隙的问题,所以展示时文字多行本身会自动加上间隙,然而计算时总是少算一行。
解决:
之后发现了,一个非常简单的办法,就是给UILab高度加1,只用加1就好,再多几行也不会有事了。
UILabel *titleLab = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, titleRect.size.width, titleRect.size.height+1)];
改正后的效果:
感谢观看, 学以致用更感谢!
相关文章推荐
- rzsz不能大于4G,securefx传5.2G没有问题,
- iOS开发中常用的几个苹果网站
- 关于“使用rand()产生的随机数每次得到的结果相同”的问题
- linux下syslog使用说明
- Androidx学习笔记(13)-- 获取sd卡剩余容量的代码
- Android运行时异常“Binary XML file line # : Error inflating class”
- Hadoop 1、在虚拟机上进行 HDFS 安装
- Web前后端数据交换技术和规范发展史:Form、Ajax、Comet、Websocket
- 链接器和装入器的基本工作原理
- 将aar发布到github并在项目中引用
- oracle odbc mysql 字段不全
- spring mvc添加静态资源访问时@Controller无效的解决
- openrisc 之 Wishbone总线学习笔记——接口信号定义
- phonegap archive 报错 Cordova/CDVViewController.h' file not found
- AngularJs学习
- linux内核启动第二阶段之setup_arch()函数分析-2.6.36
- android canvas Rotate 图片中心旋转
- Android kernel printk概览
- 小蚂蚁学习数据结构(22)——哈夫曼编码的认识
- MySQL字符串函数substring:字符串截取