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/.
我正在尝试在 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/.