UIStackView间距 - 不要推到顶部和底部锚点

时间:2016-02-25 00:20:02

标签: ios swift uistackview

我正在尝试分发一些嵌套的堆栈视图,我想我错过了一个属性来帮助我按照我想要的方式对齐各种视图。

这是当前的输出:

enter image description here

这个问题是,添加到每个列(堆栈视图)的两个排列的子视图是分布的,这样第一个子视图对齐到顶部,第二个子视图对齐到底部(留下一个可变空间)他们之间)。

但这就是我所希望的 - 在每列的第一个和第二个排列的子视图之间总是一个固定的空间(比如说10像素),而第二个排列的子视图下面的额外空间只剩下它需要的东西了是

enter image description here

视图安排如下:

outerStackView =绿色视图:(顶部20px,左侧64px,底部20px, 右侧64px - 显示在两个屏幕截图中,但仅在顶部显示中突出显示)具有属性:

outerStackView.axis = .Horizontal
outerStackView.distribution = .FillEqually
outerStackView.spacing = 10

leftStackViewmiddleStackViewrightStackView已添加到outerStackView每个属性:

columnStackView.axis = .Vertical
columnStackView.distribution = .Fill
columnStackView.alignment = UIStackViewAlignment.Top
columnStackView.spacing = 10

然后每列中有2个stackViews,由红色和蓝色框周围的深灰色框表示。有财产:

redBlueStackView.axis = .Horizontal
redBlueStackView.distribution = .FillProportionally
redBlueStackView.alignment = UIStackViewAlignment.Top
redBlueStackView.spacing = 4

1 个答案:

答案 0 :(得分:0)

您应该将包含视图的堆栈视图固定到您。这会让你看起来更加一致。如果你想让所有3个大小相等,你也可以在水平堆栈中查看所有三个堆栈视图。另一个提示是混淆内容拥抱优先级和压缩阻力变量。希望如果您有更多问题,请帮助我。