UITableView head是否可以滑动

  • 完全不去思考任何tableVIew的滑动和显示的时候, 我们应该直接使用_tableView = [[UITableView alloc]init];创建TableVIew, 这是创建的tableVIew效果和_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];的效果应该是一样的, 这是tableView的hearView是不能跟随TableView滑动的.而且TableView空白部分应该有cell的分割线.

  • 使用_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];创建的tableView的head是可以跟着tableView滑动的. 但是如果这个时候如果section大于1, 并且都有head的时候就会在head和上一个cell之间有一个默认的空白. 但是cell没有多余的分割线

  • 第二种使TableView的head跟着head滚动的方法是添加类似这样一段代码

    if (scrollView== self.tableView) {
        CGFloat sectionHeaderHeight=10 * 2 + 26 / 2 + 4;
        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);
        }
    }
}

这个时候TableView 还是会在没有cell的地方有cell的分割线
* #### 这个时候 设置` _tableView.tableFooterView = [UIView new];`是可以将TableView多余的分割线去掉

你可能感兴趣的:(UITableView head是否可以滑动)