iOS 7 UITableView:如何删除导航栏和第一个单元格之间的空间

Fry*_*Fry 59 uitableview ios ios7

我的问题是:iOS 7分组UITableView后,表顶部和第一个单元格之间存在差距.

奇怪的是,当我第一次加载内容时,表格看起来就像在第一张图片中一样,但是当我向下滚动时,顶部和第一个单元格之间出现空格,如第二个:

在此输入图像描述 在此输入图像描述

使用style plain这种行为并没有出来,但不幸的是我需要使用分组表视图.

有什么想法吗?

Sla*_*cho 132

只需在你的ViewDidLoad方法中添加它

self.automaticallyAdjustsScrollViewInsets = NO;
Run Code Online (Sandbox Code Playgroud)

  • 但这打破了布局,tableview可能会在导航标题下. (9认同)
  • 您也可以从Xcode中设置此选项,选择ViewController,然后从属性检查器中取消选中AdjustsScrollViewInsets. (5认同)

Gio*_*Ath 37

对我和我的团队来说,答案非常有趣,并且像魅力一样工作

  • 在Interface Builder中,只需将tableview移动到视图层次结构中的另一个视图下即可.

原因:

我们观察到,如果第一个视图是UITableView,则仅在视图层次结构中的第一个视图中发生这种情况.所以,除了第一个,所有其他类似的UITableViews都没有这个烦人的部分.我们尝试将UITableView移出视图层次结构中的第一个位置,一切都按预期工作.

  • 好的解决方案 我在视图上方添加了一个空标签,它在桌面上方有效. (2认同)

Muh*_*aab 16

通过在Storyboard中选择xib或控制器,转到View Controller的属性检查器.取消选中调整滚动查看插图布局.它将解决问题在此输入图像描述

  • 有效的最简单!这应该是最高投票:) (2认同)

clm*_*crl 12

如果您使用的是具有分组样式且只有1个组的UITableView,请使用简单样式来解决您的问题.

UITableViewController *tableViewController;
tableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
Run Code Online (Sandbox Code Playgroud)


Ven*_*ari 5

分组类型中此问题的最简单解决方案tableView是:

tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];
Run Code Online (Sandbox Code Playgroud)