指定 stackview 的 arrangedSubviews 之间的不同间距

Specify different spacing between arrangedSubviews of stackview

我的登录视图是用 stackview 设计的。堆栈视图有五个视图(分段控件、两个文本字段和两个按钮)

我将对齐设置为填充,分布设置为按比例填充。但是,我无法更改子视图之间的间距。

现在间距为 10,但我希望分段控件和第一个文本字段之间的间距为 20,“登录”按钮和“忘记密码”之间的间距为 5?按钮。

我知道我可以删除堆栈视图并使用自动布局来实现我想要的定位,但我想在旋转期间使用堆栈视图来控制视图。

谁能帮我解决这个问题。

那么你可以做的是在 stackView 中添加缓冲视图以获得两个视图之间的更多 space ...清除缓冲视图背景颜色并根据你的固定其高度。需求

UIStackView 有一个在指定视图后应用自定义间距的实例方法。

func setCustomSpacing(_ spacing: CGFloat, 
                after arrangedSubview: UIView)

stackView.setCustomSpacing(20, after: segmenteControl)