我将视图控制器的背景颜色设置为黄色,将子视图设置为红色。然后我设置约束,让子视图的4条边与其超视图对齐 - 视图控制器的视图。但我实际看到的是如下所示。
我打印出视图控制器视图的子视图,发现有一个高度为20像素的'UILayoutGuide'(顶部,我猜)。这是红色子视图没有将其顶部与超视图对齐的原因吗?
其他条件:我没有将状态栏设置为隐藏。但是如果我将状态栏设置为隐藏([UIApplication sharedApplication].statusBarHidden = YES
),则红色子视图的布局将变为正确(我的意思是,将其4个边缘与超视图对齐,因此无法看到黄色背景颜色)。如下。
有什么建议吗?感谢。
答案 0 :(得分:0)
无意中,我找到了answer。
实际上我正在实现UINavigationController。我将默认导航栏设置为隐藏。正如文档所说
状态栏的底部,如果只显示状态栏。
因此在视图控制器的视图顶部会有一个20像素的空间。并且,由于布局指南是只读的,我不能通过在子视图的顶部到顶部布局指南之间设置垂直空间来将红色子视图的顶部与其超视图(我的视图控制器的视图)对齐。最低点。
但是,这是我的解决方法。我将superview的前导,尾随,底部空间设置为0.0px,并将子视图的高度设置为等于superview的高度。现在,即使我将状态栏设置为可见,红色子视图顶部及其超级视图之间也没有空格。