1、UIScrollView的问题:
UIScrollView,相信不少开发者在用SB或者XIB文件开发时都曾经为它苦恼过,如果是添加一个普通的UIView类视图,可能就是拖上去上下左右宽高一类的一通约束,然后搞定
如果我们对UIScrollView做同样的事情似乎也没问题
接下来我们同时向已经存在的view和scrollView里面同时加入子视图并设置他们充满整个父视图大小
结果scrollView添加完子视图和约束后报错了,这说明在scrollView中的约束还不能满足要求。
2、解决scrollView中的约束问题
其实scrollView是个很特殊的控件,它的特殊之处就在于contentSize这个属性,想想我们在手写代码向scrollVIew添加子视图时是不是需要设置它的contentSize来确定它的滚动区域。在xib中仅仅设置子视图和scrollView的上下左右约束只不过是确定了scrollView的contentSize而已,但是由于子视图没有设置宽度和高度约束,所以会报错,解决报错的方法很简单,就是设置这个子视图的宽度和高度
可以看到在设置完子视图的宽度和高度约束后,红色警告消失了,至此大功告成,如果需要向scrollView中添加多个子视图,只需要确定这些子视图的宽度和高度以及他们上下左右与scrollView的约束即可
小记:
这篇文章只是从初级角度窥探和解决了scrollView添加子视图的问题,之前研究这个问题时发现许多博客都是以一个containerView为参照来解决scrollView的约束问题,其实最终目的是一样的,就是确定视图的宽度和高度。这篇文章只是一个开头,后续还会带来在scrollView中添加更复杂的视图的一些思路和方案,同时会带给大家一些关于iOS9以后才出现的UIStackView在自动化布局中的强大。
如果你在阅读中有什么问题和疑问,欢迎随时提出,一块探讨,共同成长!