Swift学习之去掉UItableview headerview黏性

在使用TableView中style设置成plain模式,在数据源代理中又有section分组就会出现如下的效果(每个section的头视图会有浮动效果,也称headerview黏性 ),但如果我们不想让他浮动(或有黏性),可以在scrollview的代理中实现如下代码,即可实现我们想要的效果。


实现前.gif
override func scrollViewDidScroll(scrollView: UIScrollView) {
        if scrollView == self.tableView  {
            let sectionHeaderHeight = CGFloat(50)
            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);
                    }
            }
        }
    }

实现后.gif

更多源码请访问github:https://github.com/zhangjiahuan8888

你可能感兴趣的:(Swift学习之去掉UItableview headerview黏性)