您的位置:首页 > 产品设计 > UI/UE

UITableView添加到UIViewController的view时显示问题

2017-07-18 15:18 363 查看
如果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,都会生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: