美文网首页
iOS-TableView设置setContentOffset无

iOS-TableView设置setContentOffset无

作者: 混不吝丶 | 来源:发表于2021-09-27 16:21 被阅读0次

    前言

    一个页面使用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

    原因

    tableview的contentOffset的计算是预估的值并非准确的值,设置了偏移量为0,默认还是会去添加上预估值计算所需的偏移,在初始化时我们需要重置为0

    相关文章

      网友评论

          本文标题:iOS-TableView设置setContentOffset无

          本文链接:https://www.haomeiwen.com/subject/pftknltx.html