在堆栈视图中设置某些项之间的空间

问题描述 投票:31回答:6

在Interface Builder中,我使用水平UIStackView并希望将项目放置为:

   xx   xx   xx

每个x代表一个项目。 Item1和item2应该相互粘贴,但item2和item3应该是间隔的,依此类推。这意味着我不希望所有项目之间保持恒定的间距。

我怎么能这样做? (可能相当于工具栏的灵活空间)

谢谢 !

ios xcode
6个回答
26
投票

在水平堆栈视图内部还有三个水平堆栈视图,以便您可以控制每个项目的间距和分布。见下面的截图:

enter image description here


49
投票

这是基于Lumialxk回复的答案。选择要处理的堆栈视图,并将间距属性更改为所需的值。

Screen shot of the property panel


19
投票

iOS 11 only

stackView.setCustomSpacing(32.0, after: headerLabel)

欲了解更多信息:Stack View Custom Spacing


5
投票

以编程方式为每个视图:

stackView.spacing = 10.0

如果要在每个视图后创建自定义间距,并且需要支持低于iOS11:

创建一个高度清晰的UIView,并将其作为addArrangedSubview添加到stackView中。


4
投票

在堆栈视图中,您只能定义items之间的常量空间。这样做很容易,只需在大纲中选择堆栈视图并设置空间值。


1
投票

Swift 4:如果你想在第一个子视图之后设置一个空格:

stackView.setCustomSpacing(30.0, after: stackView.subviews[0])
© www.soinside.com 2019 - 2024. All rights reserved.