动态尺寸的stackView,内容更少

问题描述 投票:-1回答:2

我有custom XIB's,我将用它在运行时创建ViewController。将在运行时决定将哪些XIB包含在ViewController中。

我为此目的使用了stackView,我已将其添加到情节提要中并将其限制在superViewleading-triling-top-bottom中。这意味着stackView将被拉伸到viewController的高度。

现在当我的自定义视图(或XIB)很少时,比如说3,它不应该覆盖整个屏幕,而应该坚持其尺寸并添加到stackView中

但是我的问题出现在这里:由于我限制了stackView来完成屏幕(有时XIB的数量可能会更多,并且会超过屏幕的大小,因此我可能需要可滚动的stackView),它显示为这个

enter image description here

我发现了某种骇客here,但我认为不会被砍掉

StackView的对齐方式-填充,分布-等距(0)

ios swift autolayout uistackview
2个回答
0
投票

步骤1。将超级视图和堆栈视图之间的底部约束设为Equal or more

步骤2。使用优先级1和常数0对堆栈视图进行高度限制]

步骤3。确保您在堆栈视图布局中正确查看-所有边缘都应安装在每个视图中


0
投票
  1. 更改(假设垂直)stackView的分布以填充,因此堆栈视图将“包装”排列的子视图,并在增加更多子视图时“增长”

  2. 更改stackView的约束

    • 删除其底部约束(以进行超级视图),此约束扩展了stackView
    • 添加它的高度约束,可能更大(ThanOrEqualTo(1),所以它随着子视图的排列而增加。
© www.soinside.com 2019 - 2024. All rights reserved.