如何在UIScrollView中设置一个空的UIStackView,以便我可以在运行时填充它?

问题描述 投票:0回答:1

我正在尝试在UIScrollView中设置一个空的垂直UIStackView,以便我可以在运行时动态填充UIStackView

我尝试了apple here给出的解决方案,但是当我这样做时,自动布局工具告诉我有一个缺少的约束,它是Y位置或UIStackView的高度。我在UIScrollView和示例中的唯一区别是我没有在UIStackView中添加一个按钮。

当我在运行时填充UIStackView时,日志说它必须打破一些约束,然后UIScrollView将屏幕一直填充到底部,推动我在那里看不到的其他视图。

这是完成我想要的正确方法吗?或者还有其他解决方案吗?

编辑:

这就是我所拥有的,徽标约束只是相对于自身的纵横比

Current status

ios xcode uiscrollview autolayout uistackview
1个回答
2
投票

设置约束,但在滚动视图中没有空堆栈视图。

下一个:

  • 在滚动视图中添加UIStackView
  • 将堆栈视图的所有4个边约束到滚动视图
  • 约束堆栈视图宽度等于滚动视图宽度
  • 约束堆栈视图高度等于滚动视图高度

IB应该显示满足的所有约束。

然后 - 这里是键 - 编辑堆栈视图的高度约束并将其设置为占位符:

enter image description here

现在将在构建时删除此高度约束。您通过代码添加的任何元素arrangedSubviews将确定堆栈视图的高度,反过来,它将定义垂直可滚动区域(.contentSize)---所有这些都由自动布局处理。

© www.soinside.com 2019 - 2024. All rights reserved.