我在水平堆栈视图中有三个按钮,并且我已经设置了自动布局,以便它们根据特定标准显示。
例如,第一个按钮将是堆栈视图宽度的40%,第二个按钮的宽度与第一个按钮相同,第三个按钮占用剩余宽度。按钮的高度与堆栈视图的高度相同。它们的间距相等,相距8点。堆栈视图的分布设置为"等间距",对齐设置为"中心"。
当我决定隐藏前两个按钮,但仍然希望第三个按钮以相同的宽度出现在同一位置时,问题就会出现。自动布局会调整第三个按钮的大小,就好像第一个按钮和第二个按钮不在那里一样。
如何使创建的自动布局继续保留,就好像隐藏的按钮仍然存在一样?
您不能为要"隐藏"的按钮设置alpha
到0
和userInteractionEnabled
到NO
吗?这会导致它们消失,我不认为这会导致第三个按钮扩展。
对容器使用第二个约束,该约束可以用作备份约束。或者只是通过代码重新创建所需的约束。
我还有一个更好的解决方案。根据需要在堆栈中添加三个UIView,然后在每个UIView中添加按钮。现在你可以用隐藏的true/false按钮玩了,这里的UIView将始终具有清晰的颜色。路线不会改变。