UIScrollView 和自动布局指南

guide for UIScrollView and autolayout

我正在为 UIScrollView 和 AutoLayout 苦苦挣扎。我 read a blog 并尝试做我自己的事情。但是,Xcode 报告的内容大小不明确。我从超级视图中将 scrollview 和前导、尾随、顶部、底部约束设置为 0。

有一个 UIView 作为容器来容纳我所有的子视图,包括两个 UILabel 元素和两个 UICollectionView 视图。我将容器视图设置为与视图控制器的视图等宽和等高。然后我将 UILabelUICollectionView 视图约束全部设置为 0。但是它运行如下图。

请帮助我或给我一些关于 UIScrollView 和 AutoLayout 的文档或指南。

您的主要问题是 scrollView 的内容(即您的容器视图)没有固定到 scrollView。

这是我的建议:

1) 移除容器视图的宽度和高度限制。

2) 将容器视图的左、上、右、下固定到滚动视图的左、上、右、下。通过这样做,无论您的容器视图有多大,都将定义滚动视图的可滚动区域。

3) 如果您只想让您的内容垂直滚动,请将容器视图的宽度限制为滚动视图的宽度。

4) 您需要指定容器视图的高度。你可以通过给它一个固定的高度约束来做到这一点。确保它大于 scrollView 的高度,否则将无法滚动。另一种方法是确保其内容视图大小已完全指定,并且容器视图中最顶部的视图固定到容器视图的顶部,容器视图中最底部的视图固定到底部,并且视图应该垂直固定在一起。换句话说,您的容器视图中应该有足够的约束,以便自动布局能够计算容器视图的高度。