指定stackview的arrangedSubviews之间的不同间距
Posted
技术标签:
【中文标题】指定stackview的arrangedSubviews之间的不同间距【英文标题】:Specify different spacing between arrangedSubviews of stackview 【发布时间】:2020-07-16 07:27:25 【问题描述】:我的登录视图是用 stackview 设计的。 stackview 有五个视图(分段控件、两个文本字段和两个按钮)
我将对齐设置为填充,分布设置为按比例填充。但是,我无法更改子视图之间的间距。
现在间距是 10,但我希望分段控件和第一个 textField 之间的间距为 20,“登录”按钮和“忘记密码?”之间的间距为 5。按钮。
我知道我可以删除堆栈视图并使用自动布局来实现我想要的定位,但我想使用堆栈视图来控制旋转期间的视图。
谁能帮帮我。
【问题讨论】:
你不能。这不是在 stackView 内的视图之间提供不同间距的选项。您也可以移动 segmentControl 和“忘记密码?” stackView 中的按钮。 @Natasha 你可能不得不用你自己的逻辑从你身边进行管理。我将为您提供一种获取 UIView 的方法,并在 UIView 中添加您需要使用的其他控件。并设置 ui 视图背景颜色清晰。 【参考方案1】:UIStackView 有一个在指定视图之后应用自定义间距的实例方法。
func setCustomSpacing(_ spacing: CGFloat,
after arrangedSubview: UIView)
stackView.setCustomSpacing(20, after: segmenteControl)
【讨论】:
【参考方案2】:您可以做的是在 stackView 中添加缓冲视图以在两个视图之间获得更多空间......清除该缓冲视图背景颜色并根据您的设置固定其高度。需求
【讨论】:
以上是关于指定stackview的arrangedSubviews之间的不同间距的主要内容,如果未能解决你的问题,请参考以下文章
stackView 中的 StackView 不能通过 swift 使用它的间距
Stackview inside 其他stackview宽度问题
iOS:更改 StackView 中 TextField 的高度(在 StackView 内)