在接触Autolayout的初期,关于scrollView 的约束设置是一个小难点,往往设置了一堆约束之后还是无法滚动起来。或者约束设置之后产生了许多错误。
其实,在设置scrollView 的约束时只要保持思路的清晰,并了解scrollView的原理就很容易正确设置约束了。
在 Autolayout 下,UIScrollView 的 contentSize 是由其内容的约束来定义的。因此,我们在 ScrollView 里面设置的约束,不仅起到布局内容的作用,同时也起到了定义 ScrollView 可滚动范围的作用。
比如,我希望我的scrollView 内容在垂直方向滚动,scrollView 高度为200,scrollView 中有一个view,把view的Height 约束设置为300,同时明确设置view的top 和bottom约束与scrollView 各为50, 这样 scrollView的contentSize 的height为400。
另外,在代码中可以使用setContentSize方法来修改contentSize。
参考文章: