在使用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
网友评论