Xcode希望堆栈视图中的UILabel具有更高的高度

时间:2016-01-27 18:48:35

标签: xcode swift uilabel uistackview

我正在尝试在UIView上的UITextField上方放置两个大小相同的UILabel。我认为这将是堆栈视图的一个很好的用途。

Here is a screenshot of my elements

然而,出于某种原因,Xcode似乎期望UILabel会比它应该高得多,并导致关于布局的警告。

Here are the warnings

选择UILabel后,您可以看到轮廓。您也可以在另一个UILabel上看到相同大小的轮廓,并且在选择堆栈视图元素时,它也会显示更大的区域。单击UITextField时,将显示轮廓以从UILabel的轮廓结束开始。使用'解决自动布局问题'更新框架'将使堆栈视图向外扩展以匹配轮廓的大小,但它会立即跳回到原始大小。

Gold highlight around an area much larger than it should be

我是否滥用或错误配置堆栈视图?或者还有其他问题吗?

我正在使用Xcode 7.3 build 7D111g。

1 个答案:

答案 0 :(得分:1)

这是因为您的label正在填充stackview

不要给stackview高度限制。只需将以下两个约束添加到顶部stackview

即可
  1. 顶部空间
  2. 在容器中水平居中
  3. enter image description here

    Stackview将从其内容中获得高度。

    检查此更新的 GIF

    enter image description here

    所有警告都已完成。

    希望这可以提供帮助。