今天遇到一个bug。setupAutoHeightWithBottomView 这个方法在SDAutolayout里面肯定是一个神奇的所在,但是经过多番调试还是遇到了bug,就是scrolview的自适应高度的时候。我再scrolview的上方放一个大图片,中间放一个自适应高度的lable,下面放一个tableview。对,就是这个tableview导致了我的自动计算高度的失效。
scrolview是适应全屏的,zoomview是撑满scrolview存在的用来计算自适应高度的常用方法。而我在给了tableview固定高度以后用SDAutolayout的setupAutoHeightWithBottomView计算方法时遇到的bug就是第一次刷新界面,打印的高度确实改变了,可是界面不能够滑动,但是再刷新一次就可以滑动了。
这个问题的原因是由于我获取完数据再使用[_zoomView setupAutoHeightWithBottomView:_goodsTable bottomMargin:0];导致的。
有同学可能会问我,既然tableview是固定高度为什么不在界面布局的时候就使用[_zoomView setupAutoHeightWithBottomView:_goodsTable bottomMargin:0]呢?因为之前我提到了界面是多变的,有时候需要有这个固定高度的tableview然后有时候我是需要放其他的控件的。而且高度也是动态变化的。
遇到问题就要去解决,这个时候我还是回归到了之前的适配方式。即autolayout最常用的库monsory。在获取到数据的时候我mas_updateConstraints:去修改它的高度就可以解决了。
SDAutolayout自动计算高度(解决bug)
最新推荐文章于 2025-12-03 01:13:51 发布
本文描述了一个关于ScrollView自适应高度的bug,特别是当其包含一个固定高度的TableView时出现的问题。作者通过使用SDAutolayout库尝试实现自动高度调整,但发现界面在初次加载时无法正常滚动。最终通过采用Masonry库并利用mas_updateConstraints方法成功解决了问题。
1684

被折叠的 条评论
为什么被折叠?



