2018-07-06 你能相信UILabel 会有极限的高度?

最近改一份代码,之前的同事,使用UILabel来进行一份协议的展示,
我当时修改了一下的协议的文件,结果,这份协议怎么都不显示出来!!!

我当时就会懵逼了!!!!

明明设置字体颜色,背景色,和frame大小、透明度,甚至使用Xcode工具去看的时候都可以轻松看到uilabel这层界面,可以他就是透明地很彻底。为什么会出现这种情况呢??

当时通过计算,得出label 的高度是8300多。

幸好,同事秉着实验的精神加了一个helloWorld的Label上面,一切都正常显示。
然后把协议内容放进去,显示
修改高度1000,显示
修改高度4000,正常显示
修改高度8000,lable透明什么都不显示。
修改6000,透明什么都不显示
修改5000,正常显示
测试的是iOS模拟器 对应xcode版本 9.41

我也是服了,查了一下,网上有一篇文章有所介绍:
iOS UILabel高度的极限值
文章里对这个原因解释如下:
说label高度的极限值是8192(2^13),这并不是苹果的一个bug,只是一个未定义的行为。因为为了更快的重绘view,通常会把view渲染到内存和缓冲区。当label的高度达到9182的时候,会使缓冲区变得很大。

同事告诉我:Label 最好放少量内容的文字。要放协议这样的长文件,使用textView就好,将属性editable 改为NO就好!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容