如何向根视图而不是 TopLayoutGuide 添加约束?

How can I add a contraint to the root view instead of TopLayoutGuide?

我的 ViewController 嵌入在 UINavigationController 中,它有一个 view 应该与根视图的顶部对齐。根视图具有深灰色背景,并占据全屏。但这是现在的样子:

如您所见,根视图显示在状态栏下方,这是预期的。但是子视图(黑色)显示在白色条带下方。我想这是顶部布局指南,我的子视图有一个约束,其顶部等于顶部布局指南的底部。删除此约束后,我无法通过按住 Ctrl 键拖动将约束从我的子视图添加到根视图,Xcode 始终使用顶部布局指南设置约束。

我的问题是:

  1. 如何添加约束条件 top of subview == top of root view
  2. 为什么顶部布局指南占据了白色区域?
self.automaticallyAdjustsScrollViewInsets = true

此 属性 的默认值为 true,这让容器视图控制器知道它们应该调整此视图控制器视图的滚动视图插入,以说明状态栏、搜索栏占用的屏幕区域、导航栏、工具栏或选项卡栏。如果您的视图控制器实现管理其自己的滚动视图插入调整,请将此 属性 设置为 false。

您也可以从 Interface Builder

设置此 属性