美文网首页
去掉tableView的粘性组头

去掉tableView的粘性组头

作者: 我叫王可可 | 来源:发表于2018-11-15 16:08 被阅读0次

去掉tableView的粘性组头

首先看一下UITableViewStylePlain 和 UITableViewStyleGrouped的区别

1.先是header 部分,plain是没有考虑顶部的,就是wifi信号那一栏的,

2.然后plain 有一个顶部滞留的效果,即拖动时,header 随着某一分组一起移动。group是没有的,这是两者最大的区别。

去除UITableViewStylePlain类型的UITableView的粘性组头需要实现scrollView中的一个代理方法。主要是在表格滚动的时候,通过调节contentInset这个属性。

具体代码如下:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView == _tableView) {
        CGFloat sectionHeaderHeight = 45;//设置的header高度
        if (scrollView.contentOffset.y <= sectionHeaderHeight && scrollView.contentOffset.y >= 0) {
            scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
        } else if (scrollView.contentOffset.y >= sectionHeaderHeight) {
            scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
        }
    }
    return;
}

UIScrollView的几个属性

contentOffset 这个属性用来表示 scrollView 滚动的位置

contentSize 这个属性用来表示 scrollView 中内容的尺寸,滚动范围

contentInset 这个属性能够在 scrollView 的四周增加额外的滚动区域

1953382-c07ac3c52e80af42.png

相关文章

网友评论

      本文标题:去掉tableView的粘性组头

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