UIScrollView 中的 UIStackView 被切断

UIStackView within UIScrollView is cut off

我正在尝试在 UIScrollView 中使用 UIStackView,我希望有人能为我指明正确的方向以创建正确的约束,因为我无法弄清楚问题出在哪里。

这些是我的约束和 ViewController 结构。

所以 DestCont 是一个具有固定高度的 UIView,而 ContentCont 应该占据 space 的其余部分,它可能(现在)比屏幕大,所以它应该能够滚动。

当我在模拟器中测试时,我遇到了以下问题。 (调整大小使其适合 2MB 上限)

绿色是根视图,黑色是滚动视图,如您所见,它切断了 ContentCont 视图的底部。

编辑

我更改了约束,删除了固定的 UIStackView 高度,但是现在,它不显示 UIStackView 中的底部 UIView:

从您的屏幕截图我们知道您已将 StackView 的高度限制设置为等于 self.view 的高度。然后高度是固定的(等于一个屏幕的高度),即使它的内容视图的高度可能比屏幕大。

UIScrollView 将根据其内容计算其 contentSize,因此在您的情况下,其 contentSize 的高度将始终为一个屏幕高度。

删除这个高度限制,让ContentCont的内容决定它的高度。另外请确保您在 ContentCont 中的约束是正确的。

我最终觉得很好,只有我的 "ContentCont" UIContainerView 会滚动并使用以下教程修复切换:https://spin.atomicobject.com/2015/09/02/switch-container-views/.