-
完全不去思考任何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多余的分割线去掉
网友评论