您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页UITableView使用Autolayout在iOS7和iOS

UITableView使用Autolayout在iOS7和iOS

来源:二三娱乐

iOS8之后,苹果出了self-sizing技术。 允许开发者设置这两个属性,从而可以使用Autolayout在heightForRow方法之前算出cell的高度。

Snip20150701_2.png

补充注释:


Snip20150701_3.png

UILabel在使用Autolayout时的注意点:

  • 首先,UILabel在给定宽度时,系统会根据宽度值再进一步设置Label的一个属性


    Snip20150701_4.png

当Label这个属性有值之后,它才知道自己计算自己的文字尺寸时的最大宽度。

因此,如果要在iOS6,iOS7中,使用xib或者storyboard中的Autolayout方式来计算不等高cell的高度,意味着只能先给一个估算高度,然后在heightForRowAtIndexpath返回之前,手动设置UILabel的preferedMaxLayoutWidth属性

Snip20150701_5.png

并且在heightForRowAtIndexpath方法中,需要模仿cellForRowAtIndexpth里创建cell的方式,创建一个不用来显示,仅用来计算cell高度的cell ,并且要拿cell的layoutifneed方法强制布局内部子控件,才能实现在heightForRowAtIndexpath方法中,提前把所有cell的高度计算出来。
附图:

Snip20150701_6.png Snip20150701_7.png

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务