无论我尝试什么,UIScrollView 都不会滚动

UIScrollView not scrolling no matter what I try

我有一个屏幕,其中主视图有一个 UIScrollView,其中包含一个 UIView,后者又包含 3 个垂直放置的 UIView,我已经相应地设置了约束,尝试在 viewDidLoadviewDidLayoutSubviews 中设置 contentSize,都无济于事。我已经创建了一个示例项目来解决我在 https://github.com/modsoussi/ScrollViewTest 遇到的问题。

我很惊讶 Interface Builder 没有显示约束错误或警告...

使用自动布局时,滚动视图的 内容 定义 contentSize。这意味着内容(在您的情况下,单个 UIView 持有 3 个较小的 UIViews)必须对其超级视图(滚动视图)的顶部、前导、尾随和底部有约束... 它必须有高度和宽度。

在您的故事板中,删除 "Center Vertically" 约束,并向 "content" 视图添加高度约束(为 1000)。然后从代码中删除 scrollView.contentSize = ... 行。 运行 应用程序,滚动应该没有问题。