使用UIStackView动态调整大小的按钮

问题 :我们曾遇到过这样一种情况,我们想通过在屏幕截图(如下图)中具有相等的宽度来显示两个水平放置的按钮。

在某些情况下,我们可能需要隐藏其中一个按钮,并将按钮的中心显示在视图的下方,如屏幕截图所示。

我们知道这是安静的常见情况,可以通过使用约束来实现。 但是,通过使用约束,我们最终需要添加许多约束来查看并在需要隐藏一个按钮时对其进行更改。

通过使用堆栈视图,我们可以轻松地做到这一点而无需处理约束。

当我们使用堆栈视图时,当我们需要隐藏一个按钮时,我们最终会拉伸按钮(在具有填充对齐的水平堆栈视图中)。 为了避免这种情况,我们需要像下面的代码片段一样适当地更改StackView的轴,对齐方式和分布。

在这里,我们将堆栈视图修改为垂直,对齐中心分布fillProportionally,当我们隐藏按钮之一时。

注意: Modify(forAxis:.vertical……是UIStackView扩展中的辅助方法。

Github链接以获取完整代码。

LeelaRamala / ButtonsInStackView
这是一个示例代码,用于通过使用堆栈视图在视图中显示动态调整大小的按钮。 通过使用堆栈视图,我们可以… github.com

希望这可以帮助!。 欢迎建议🙂