UIScrollView的子控件添加约束与普通view不同,仅仅这4个约束不足以满足它的需求.
那么,怎样才是正确的做法呢?
首先:
scrollView自身的约束(scrollView的位置和尺寸)可以像正常的UIView一样参照其父控件添加.
正如上面我们第一步所做的,在给scrollView添加子控件之前,那四个约束决定了scrollView的大小和位置,这步是没有问题的.
问题的关键在于如何给scrollView内部的子控件添加约束.
scrollView内部子控件约束的添加需要遵循两个原则:
1、scrollView内部子控件的尺寸不能以scrollView的尺寸为参照
2、scrollView内部的子控件的约束必须完整
首先,子控件的尺寸不能以scrollView的尺寸为参照,那么我们有两种选择:
提供一个具体值的约束(比如200)
子控件的尺寸可以参照scrollView以外其它的控件的尺寸(如控制器的view的尺寸)
其次,约束”完整”的意思是说:子控件在水平及竖直方向上的约束要把scrollView”撑满”.
也就是说,在水平方向上,我们需要设置:
子控件左侧与父控件的距离
子控件自身的宽度
子控件右侧距父控件的距离.
竖直方向上也一样,要设置:
子控件顶部距父控件的距离
子控件的高度
子控件底部距父控件的距离.