UIStackView无需分发或填充

时间:2016-11-10 17:19:46

标签: ios swift uitableview uistackview

我有一个关于我的应用的视图,我需要能够推送动态数量的自定义子视图(在运行时视图的数量会发生变化)。

我最初的想法是一个tableview,但似乎有点OTT设置所有委托方法。然后我找到了UIStackView,这很棒,因为它在我添加和删除子视图时处理重绘和调整大小。

但是当我在UIStackView中有少量视图时。它将使每个视图垂直放大以填充空间,或者根据各种设置将它们分布在堆栈视图中。

我想要的是我添加的每个视图都只是附加在堆栈中的任何现有视图下。我不希望分发或填充堆栈中的空白区域。有点像UIStackView,每个子视图都有一个高度约束。

我认为这对堆栈视图来说是不可能的,那么如何实现呢?毕竟我是否必须使用tableview(或者后退才能在代码中进行布局?)

2 个答案:

答案 0 :(得分:1)

如果您的视图具有已定义的高度约束,则此选项应与“均衡间距”分布一起使用。

答案 1 :(得分:0)

我设法通过将分布设置为按比例填充来做到这一点,然后将UILabel推入堆栈的底部,并以空格作为字符串。推空视图或空UILabel无效。在此之后,我仍然遇到一些约束错误,因此没有进一步调查。