我试图弄清楚自动布局的工作原理,却遇到了一个问题,即我不明白为什么我会收到一个警告:“宽度和水平位置不明确”。正如我正在处理的ViewController的屏幕截图中所见,该视图是底部的蓝色细线:

箭头和主页按钮没有任何限制。较大的灰色视图的约束如下:

“作者”标签的约束如下:

蓝色瘦视图的约束如下:

我不明白为什么会收到此警告,因为较大的灰色视图没有收到警告,但是我对待这两种视图的方式似乎没有任何区别。我确保在这两个位置上都包含对前导空间和尾随空间的约束,那么为什么对于蓝色的细线水平位置却模棱两可?我可以看到为什么宽度可能不明确,但是我不明白为什么对于较大的灰度视图来说宽度不明确。自动布局不应该自动处理吗?我希望宽度明显与屏幕尺寸成比例。

最佳答案

最好不要将这样的视图放在顶部栏内,而将其放在灰色栏的下方是最好的选择(如果您只是为了分区的话)。但是我已经为您解决了这里的问题。

对于蓝色条:

  • 您在给“底部空格:”,它不是必需的,因为它由“height equals:2”维护。
  • ,您给“前导空格”和“与x对齐”也没有意义。

  • 解:

    只是这样做->
  • 给“前导空格:superview(greyview)”和“将空格尾移至:superview(greyview)”都设为0
  • 给“(作者)顶部空间”一定值
  • 最后,或者根据需要选择“高度等于:2”。


  • greyView的约束

    标签的约束

    蓝条的约束

    10-05 20:14