Swift:如何在不影响其他行的情况下更改堆栈行的高度?

时间:2017-06-11 11:38:49

标签: ios swift xcode

我相当新,并尝试通过创建一个简单的应用程序来完全理解视图和堆栈的整个概念,同时填充垂直全屏堆栈视图(所有四个约束都设置为0)。就像这样(希望你理解我的插图):

enter image description here

工作正常,但现在我想在堆栈中添加另一行,但是具有固定的高度。其他堆栈行仍应平均填充。就像这样:

enter image description here

我怎样才能做到这一点? 显然,堆栈被平均填充并将所有三个视图设置为相同的高度。

当我尝试为新视图设置高度约束时,我得到一条红色错误行,表示堆栈的顶部约束存在问题。

这样可以在某种程度上将视图置于顶部,但保持堆栈的其余部分同等地填充?

由于

2 个答案:

答案 0 :(得分:2)

我为你制作了一个简单的视频,我希望它会让事情变得清晰。 您需要将最后两个视图包装到另一个StackView中。

Video on dropbox

更新:

  1. 将最后2个子视图放入垂直stackview

  2. 将stackview的ditribution设置为Fill Equally

  3. 将root stackview的ditribution设置为Fill

答案 1 :(得分:0)

不要平等填充。

您需要将 view1 view2 设置为相等的高度,然后为view1(128)指定一个特定的高度,并为view2 等高

然后将你的smallView提供给你想要的高度(30)

最后将您的一个视图提供给宽度(例如240)

就是这样。不要忘记自动布局你的stackView。

enter image description here

和我的等级。

enter image description here