UIStackView 的高度和垂直位置不明确

height and vertical position are ambiguous for UIStackView

尽管添加了子视图,Autolayout 仍无法确定 UIStackView 的高度或垂直位置。

这是一个很常见的错误,"gotcha"所以请看下面的答案。

如果这是用于 UIStackView,请确保您使用的是 addArrangedSubview 而不是 addSubview

我收到了以下错误:

warning: Ambiguous Layout: Position and size are ambiguous for 'Button'.

按钮在 Interface Builder 中放置在堆栈视图中的位置。问题是我在 Interface Builder 中检查了 "Hidden",这意味着 Xcode 吓坏了,说位置和大小不明确。只需 取消选中堆栈视图中的 "Hidden",警告就会消失......神奇! ✨

从 XCode 12.3 开始,您可以控制从 StackViewView 的拖动,这将允许您创建约束以解决警告:

https://imgur.com/a/p8ixhOc

这将显示这个 window 如果您想处理 leading/trailing space 问题或居中:

https://imgur.com/a/Awl3Hzp