相信大家一定遇到过下边的需求,思路肯定是使用 groupTableview ,然后设置每个 section 的头部视图高度。
关键代码如下
之前一直使用 ios11 及以上的的真机和模拟器测试 一直没出现问题
有一天我把我的最值钱的家当 iPhone5 拿出来跑了 一下项目,竟然出现了以下问题。无缘无故在 cell 和 tableview 中间多了 30cm。
大家都知道 ios11 以前 viewController 有一个属性是自动给scrollView 来设置头部和底部的偏移量,果断设置为 NO 不让 scrollview自动添加头部的偏移量;
self.automaticallyAdjustsScrollViewInsets= NO;
然而并未卵。。。30 依然存在 只是跑到了导航栏下边。
解决思路:
经过上边的设置我大概猜测这 30 就是有 3 个 section 是有头部的,每一个 section的高度是 10的总和。。。
这样猜测系统在给每个 section 的头部留有高度的时候,也把这些高度加到了 tableview 的 contentinsert.top上边 导致 cell 的上边一直都与 tableview存在30的距离。
既然放到头部会增加 contentInsert 的top 那放到尾部是否也会增加 contentInsert 的 bottom呢?然后把代码更改了一下。
1.还是让 scrollview继续自动加入边距。 self.automaticallyAdjustsScrollViewInsets= YES;
2.把 section 的间距加到footer 上
就这样奇迹的好了。。。
如果是设置 tableview的 headerVIew 遇到空白问题的话可以参考以下
网友评论