如何在iPhone X中使用全屏UITableView(带标题)?

cmi*_*mii 11 uitableview autolayout swift xcode9

我正在使用Xcode 9更新我的应用程序以获得iPhone X兼容性.我使用自动布局并标记"使用安全区域布局指南".

我的UITableView中有一个标题,正如您在下面的屏幕截图中看到的那样,标题视图严格尊重顶部安全区域.标题不遵循我的tableview顶部约束(比安全区域大)

在此输入图像描述

我的tableview约束:

在此输入图像描述

如何修改标题以填充屏幕顶部(屏幕截图上的白色区域)?

小智 29

在tableview的大小检查器中,将Content Insets设置为Never

  • 通过编程,可以通过设置`tableView.contentInsetAdjustmentBehavior = .never`(Swift 4.2)来完成 (2认同)

Ant*_*uoy 6

这可能是由于您的约束严重不足.

您只需双击它就可以更改Header的顶部约束.

您应该双击的屏幕:

您应该双击的屏幕

并通过Superview项更改安全区域约束.

这里


Sam*_*yak 5

为了实现这一点,设置相对于超级视图的表的顶部区域而不是安全区域。

在viewdidload中,这样写

if #available(iOS 11.0, *) {
    self.tableView.insetsContentViewsToSafeArea = false;
    self.tableView.contentInsetAdjustmentBehavior = .never;
}
Run Code Online (Sandbox Code Playgroud)