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

时间:2017-06-05 05:52:12

标签: ios iphone swift autolayout nslayoutconstraint

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

enter image description here

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

我的问题是:

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

1 个答案:

答案 0 :(得分:1)

self.automaticallyAdjustsScrollViewInsets = true

此属性的默认值为true,这使容器视图控制器知道他们应该调整此视图控制器视图的滚动视图插图,以考虑状态栏,搜索栏,导航栏,工具栏所占用的屏幕区域,或标签栏。如果视图控制器实现管理自己的滚动视图插入调整,请将此属性设置为false。

您也可以从Interface Builder

设置此属性