假设我有一个名为container
. container
包含 5 UIButtons
。我想在 上添加一个高度NSLayoutConstraint
,container
这个高度应该等于NSLayoutHeightAttribute
其子视图中最高按钮的高度。
我没有看到一个简单的方法来做到这一点。有人有想法么?
假设我有一个名为container
. container
包含 5 UIButtons
。我想在 上添加一个高度NSLayoutConstraint
,container
这个高度应该等于NSLayoutHeightAttribute
其子视图中最高按钮的高度。
我没有看到一个简单的方法来做到这一点。有人有想法么?
您需要为每个子视图(按钮)设置一个约束,指定容器的高度应大于或等于子视图的高度。为该约束赋予高优先级,例如UILayoutPriorityRequired
(无论如何这是默认设置)。
然后在容器的高度上再添加一个约束,指定它的高度应该等于 0。给该约束一个低优先级,例如UILayoutPriorityLow
. 由于自动布局试图最小化未满足约束的错误,它将使容器尽可能短,同时仍然满足所有更高优先级的约束。
我在这个要点中举了一个例子。它产生这个结果:
蓝色视图具有固定的高度。棕褐色视图是蓝色视图的超级视图,它的高度如上所述受到限制。我将每个子视图的底部固定到容器的底部,但您可以固定顶部或 Y 中心。