当ButtonB隐藏时,StackView为ButtonA添加淀粉

时间:2018-07-01 11:30:08

标签: ios autolayout uistackview

我有一个带2个按钮的堆栈视图。

enter image description here

隐藏ButtonA时,buttonB会拉伸。

enter image description here

我希望按钮B的宽度与指定的宽度相同。如何正确设置UIStuckView。 这是我现在正在做的设置:  enter image description here

2 个答案:

答案 0 :(得分:0)

您可以做的第一件事是在按钮B上设置约束

buttonB.widthAnchor.constraint(equalToConstant: 50).isActive = true

或者您可以将按钮放置在另一个视图中,然后在按钮和外部视图之间设置前导和尾随约束,以确保按钮没有超出所需的宽度。

答案 1 :(得分:0)

您可以将这些按钮放在containerView的内部,并设置按钮的固定宽度和高度,以便只有ContainerViews可以调整其大小,而按钮只能调整其位置。以下内容可以使您对该设置有所了解,

enter image description here

RedContainerViewzerolefttopbottom的{​​{1}}处有三个约束,{p}

类似地,StackView具有三个约束,其中GreenContainerViewzeroright的{​​{1}}

并且topbottom A buttoncentervertically,固定horizontally,高度为40。

类似地,RedContainerViewwidth B buttoncentervertically,其固定值为horizontally,高度为40。

现在,当两个containerView都可见时,您将得到此信息,

enter image description here

当您将GreenContainerView width设置为RedViewContainer's时,isHidden将进行如下调整,

enter image description here