【问题标题】:UILayoutGuide with a 20 px height高度为 20 像素的 UILayoutGuide
【发布时间】:2016-05-11 04:30:46
【问题描述】:

我正在使用 IB 制作我的 UI。我的视图控制器在 IB 中如下所示。

我将视图控制器的背景颜色设置为黄色,将子视图的背景颜色设置为红色。然后我设置约束让子视图的 4 条边与其父视图对齐——视图控制器的视图。但我实际看到的如下所示。

我打印出视图控制器视图的子视图,发现有一个高度为 20 px 的“UILayoutGuide”(我猜是顶部)。是不是红色子视图没有与父视图对齐的原因?

这是我添加到红色子视图的约束。

其他条件:我没有将状态栏设置为隐藏。但是如果我将状态栏设置为隐藏([UIApplication sharedApplication].statusBarHidden = YES),红色子视图的布局将变得正确(我的意思是,将其 4 个边缘与超级视图对齐,因此看不到黄色背景颜色)。如下所示。

有什么建议吗?谢谢。

【问题讨论】:

    标签: ios objective-c xcode cocoa-touch interface-builder


    【解决方案1】:

    无意中找到了answer

    事实上,我正在实现 UINavigationController。我将默认导航栏设置为隐藏。正如文档所说

    状态栏的底部,如果只有一个状态栏可见。

    所以在视图控制器视图的顶部会有一个 20px 的空间。而且,由于布局指南是只读的,我无法通过设置子视图的顶部到顶部布局指南底部之间的垂直空间来将红色子视图的顶部与其父视图(我的视图控制器的视图)对齐。

    但是,这是我的解决方法。我将父视图之间的前导、尾随、底部空间设置为 0.0px,并将子视图的高度设置为等于父视图的高度。现在,即使我将状态栏设置为可见,红色子视图的顶部与其父视图的顶部之间也没有空间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多