此文分享一点UIScrollView 在布局时需要额外注意的不同于其他UIView的东西。
一、在 storyboard 或者 xib 中使用 UIScrollView
为了实现一些滚动的需求,UIScrollView 是一个很好的选择,但是在对UIScrollView做自动布局时,有一点也许会让很多新人或者不认真的同学非常头疼,如图所示:
通常情况下,把view1 放在view2(scrollView除外)上,设置上下左右四个约束(相对于view2)就可以确定view1的位置了,但是如果view2是scrollView,就会出现上图所示的情况,设置了四个约束,storyboard仍然标红。那么这是为什么呢?
其实原因很简单,scrollView有一个属性叫contentSize,是CGSize类型的,它决定了scrollView的滚动范围,这个contentSize对于一个scrollView来说是一个在创建之初就必须确定的的值,否则scrollView是无法正常滚动的。所以请仔细想想,view1仅仅设置那四个约束是不能让他所在的scrollView确定contentSize的,这时,就还需要两条约束:
view1的宽和高。
这样,scrollView才能确定自己的滚动范围。
二、纯代码使用Masonry进行布局,思路与上所述无异处。此处就不再赘述。
我虽然不算新人,但是需要提高和深入学习的方面很多,请各位多指教。