使用Interface Builder在垂直堆栈下方放置不需要的空间

Unwanted space below vertical stack using interface builder

提问人:Summer 提问时间:6/6/2022 最后编辑:Summer 更新时间:6/10/2022 访问量:40

问:

在我的最后一个容器(“容器视图 5”)下面有一个不需要的空间,我似乎无法摆脱它。我的所有 5 个容器视图都在垂直堆栈视图中。堆栈视图的底部空间设置为超级视图,不应有空间。知道我错过了什么吗?

enter image description here

enter image description here

enter image description here enter image description here enter image description here enter image description here

Xcode AutoLayout 约束 interface-builder

评论

1赞 DonMag 6/6/2022
检查实际中的约束/布局...你的约束没有错(除非你没有展示其他东西)。堆栈视图分布应为 。iPad View With Table Bottom DetailFill
0赞 Summer 6/10/2022
我刚才看到了你的评论..非常感谢,这就是我发现的问题所在。嵌入在容器中的单独视图是问题所在!它没有正确地填充到视野中,而是填充到安全区域。

答:

0赞 matt 6/6/2022 #1

您已经强制规定了容器视图 2-5 的高度,因此没有理由将它们放在一起填充设备的高度。

要看到这一点,只需假设容器视图 1 的高度为 10。然后其他视图的总高度为 67.5,总高度为 77.5,这显然比任何已知设备的高度都要小。

基本上,这似乎是对堆栈视图的不正确使用。您没有提供有关堆栈视图配置方式的任何信息,因此此时无法多说。不过,我有点惊讶,您没有报告在 Xcode 控制台中收到某种约束冲突消息。

评论

0赞 Summer 6/6/2022
谢谢!我在堆栈视图中使用比例高度,所以我认为其中的所有内容都将遵循堆栈的比例和整体约束......也许我不明白比例高度是如何工作的?有没有更好的方法可以做到这一点?
0赞 Summer 6/10/2022 #2

事实证明,这不是堆栈或容器,而是我在最后一个容器中嵌入的对单独视图本身的约束。对容器和堆栈的约束效果很好。