如何在 UIScrollView 中设置一个空的 UIStackView 以便我可以在运行时填充它?
How to set an empty UIStackView inside a UIScrollView so that i can fill it on runtime?
我正在尝试在 UIScrollView 中设置一个空的垂直 UIStackView,以便我可以在运行时动态填充 UIStackView
我尝试了 apple here 给出的解决方案,但是当我这样做时,自动布局工具告诉我缺少约束,即 UIStackView 的 Y 位置或高度。
我的 UIScrollView 和示例中的唯一区别是我没有在 UIStackView 中添加按钮。
当我在运行时填充 UIStackView 时,日志显示它必须打破一些约束,然后 UIScrollView 一直填充屏幕到底部,将我在那里的其他视图推到看不见的地方。
这是实现我想要的目标的正确方法吗?或者还有其他解决办法吗?
编辑:
这是我的,标志约束只是相对于自身的纵横比
设置约束,但没有滚动视图中的空堆栈视图。
下一个:
- 向滚动视图添加一个
UIStackView
- 将堆栈视图的所有 4 个边限制为滚动视图
- 限制堆栈视图宽度等于滚动视图宽度
- 限制堆栈视图高度等于滚动视图高度
IB 应显示满足所有约束条件。
然后 - 这是关键 - 编辑堆栈视图的 Height 约束并将其设置为占位符:
此高度限制现在将在构建时移除。您通过代码添加的任何元素 arrangedSubviews
将确定堆栈视图的高度,这将反过来定义垂直可滚动区域(.contentSize
)---所有这些都由自动布局处理。
我正在尝试在 UIScrollView 中设置一个空的垂直 UIStackView,以便我可以在运行时动态填充 UIStackView
我尝试了 apple here 给出的解决方案,但是当我这样做时,自动布局工具告诉我缺少约束,即 UIStackView 的 Y 位置或高度。 我的 UIScrollView 和示例中的唯一区别是我没有在 UIStackView 中添加按钮。
当我在运行时填充 UIStackView 时,日志显示它必须打破一些约束,然后 UIScrollView 一直填充屏幕到底部,将我在那里的其他视图推到看不见的地方。
这是实现我想要的目标的正确方法吗?或者还有其他解决办法吗?
编辑:
这是我的,标志约束只是相对于自身的纵横比
设置约束,但没有滚动视图中的空堆栈视图。
下一个:
- 向滚动视图添加一个
UIStackView
- 将堆栈视图的所有 4 个边限制为滚动视图
- 限制堆栈视图宽度等于滚动视图宽度
- 限制堆栈视图高度等于滚动视图高度
IB 应显示满足所有约束条件。
然后 - 这是关键 - 编辑堆栈视图的 Height 约束并将其设置为占位符:
此高度限制现在将在构建时移除。您通过代码添加的任何元素 arrangedSubviews
将确定堆栈视图的高度,这将反过来定义垂直可滚动区域(.contentSize
)---所有这些都由自动布局处理。