使用滚动视图内的两个垂直堆栈视图,这些视图根据内部视图增加高度

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

我正在尝试创建一个具有滚动视图的屏幕,该滚动视图使用自动布局和约束来容纳各种视图以及两个垂直堆栈视图,同时以编程方式将项目添加到两个堆栈视图中。问题是我不能使两个堆栈视图都与它们中的视图一样大。如果我没有在堆栈视图中添加任何高度限制,检查器会向我发出警告,并且并非所有视图都显示在屏幕中。如果在堆栈视图中添加足够的高度,对于高度过大的情况,我将在屏幕上看到空白。如何确保堆栈视图的高度与屏幕上的项目相匹配,同时确保屏幕上的所有其他视图都将显示?

[我添加了2个屏幕截图,当屏幕看起来不错时,第一个屏幕快照显示两个堆栈中的项目数量很少,第二个屏幕快照包含两个堆栈中的项目很多,您可以看到我描述的结果

此外,我还在下面的链接的屏幕快照中添加了生成结果的代码

sample project

enter image description here

enter image description here

谢谢

ios swift autolayout uistackview
1个回答
0
投票

夫妇选项...

1)不要给堆栈视图高度限制,而忽略情节提要/ IB错误/警告(这只是告诉您布局尚未完成-无法知道您将在运行时满足约束) 。

2)将堆栈视图的高度限制设为0,并将高度限制的优先级设置为250-这将允许自动布局在需要时增加高度。

3)赋予堆栈视图高度限制,但将它们设置为Placeholders

enter image description here

这将满足Storyboard的要求,但不会影响运行时的高度。

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