如果UITableView的类型为UITableViewStylePlain:无影响,正常
如果UITableView的类型为UITableViewStyleGrouped:则会向下滚动了一段距离,严重影响了正常的展示;
从网上查几种解决办法:
1.设置headerView self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];
比如孙源:
http://blog.sunnyxx.com/2015/04/15/ios-hide-grouped-tableview-header/
或者通过代理方法
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 0.1;
}
但是测试发现这两种设置header都无效,
2.有人说设置tableHeaderView的顺序应该在设置tableView的delegate和dataSourcer后面,经测试也无效,
然后经累到吐测试发现两种方法可生效,当然前提都是需要设置tableView的tableHeaderView;
1.在tableView被add到self.view前,有其他view被add到self.view上,那么只要设置tableView的headerView就会有效,如果在tableView前没有其他view被add,那么只设置headerView是无效的。
2.设置viewController的属性self.automaticallyAdjustsScrollViewInsets=NO,在设置为NO的情况下,只要设置了tableView的tableHeaderView,无论tableView被添加到self.view前是否有其他view被add,都会生效。