boundingRectWithSize计算不准确 显示不全 问题的分析与解决
Posted 茉莲晨曦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了boundingRectWithSize计算不准确 显示不全 问题的分析与解决相关的知识,希望对你有一定的参考价值。
最近项目中,用boundingRectWithSize计算的文本高度显示不全
原因一般有以下几点:
1、label
的font
设置的和计算时候设置的不一致,尤其是xib
设置的时候;
2、有可能是计算出的高度是CGFloat
的类型,在设置UILabel
或cell
高度的时候,由于四舍五入导致有一点点的误差。
解决办法:
1、记得统一设置成一致的,xib的可以在awakeFromNib
中重新设置一遍
2、在保证1设置没问题之后,你会发现依然不行,😄,此时就是第二种原因导致的了,可以这样:计算出的高度进行向上取整 再+1
(如果不放心可以再加多一些像素) ,保证UILabel能够全部显示。
向上取整:float ceilf(float); double ceil(double);
向下取整:float floorf(float); double floor(double);
四舍五入:float roundf(float); double round(double);
以上是关于boundingRectWithSize计算不准确 显示不全 问题的分析与解决的主要内容,如果未能解决你的问题,请参考以下文章
boundingRectWithSize 为多行标签返回错误的高度值
boundingRectWithSize 有时会返回大约 1 行高的高度
ios7 - boundingRectWithSize:boundingSize 不返回所需的标签高度
为啥在 boundingRectWithSize 处崩溃此代码?