前言
一个页面使用TableView展示,有筛选按钮,当滑动tableview到底部,点击筛选按钮后tableview在模拟器上恢复到了初始位置,但测试在使用过程中发现筛选后偏移位置出错。
如图
2.jpg
上图红色位置是tableview,顶部蓝色区域是3个筛选按钮,当点击某一个筛选按钮滑动后,再点击另一个筛选按钮,此时tableview偏移出现问题,我们很快想到在筛选按钮点击的时候重置tableview的偏移量,快速写下如下代码
// 顶部点击
-(void)headerFilterDidClick{
// 重置偏移量
[tableview setContentOffset:CGPointZero animated:NO];
}
运行后发现并没有解决实际的偏移问题,此时满脑子黑人问号???
问题解决
在tableview初始化时重置estimatedRowHeight、estimatedSectionHeaderHeight、estimatedSectionFooterHeight
tableview.estimatedRowHeight = 0;
tableview.estimatedSectionHeaderHeight = 0;
tableview.estimatedSectionFooterHeight = 0;
如图
3.jpg
网友评论