0

我有一个视图,其中有一系列按钮,当其中一个按钮被选中时,我需要以编程方式在所有其他按钮的顶部添加另一个按钮,然后更改所有按钮的高度,以免丢失空间到屏幕底部。

问题是我需要为此视图打开自动布局,但因此我无法调整大小或更改按钮的位置。

我的问题是如何“覆盖”视图(按钮)中某些对象的自动布局,以在选择按钮时更改它们的布局。

谢谢

4

1 回答 1

1

自动布局能够满足您描述的用例。视图的高度可以压缩,以便为更多按钮腾出空间。

在每个按钮上使用- (void)setContentCompressionResistancePriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis并将优先级设置为较低的数字(即 <250)。由于您有一个垂直行,因此轴将为UILayoutConstraintAxisVertical.

您必须调用-setNeedsUpdateConstraints所有按钮的超级视图才能显示新的约束。

于 2013-07-11T11:58:13.987 回答