使用AutoLayout实现UIScrollView

autolayout iOS6就已经支持,也用了很长时间了,却一直没有使用autoLayout 实现过scrollview. 网上查了一些资料,都写的好复杂,今天写一个简单的实现方式.

设置比屏幕大小要大的scrollview的方法:

1.拖动一个scrollview 到 空白的VC 的View 上,并添加相对于View的约束,如图:


使用AutoLayout实现UIScrollView_第1张图片
scrollview.jpg

2.拖到一个UIView 到 scrollview上, 修改其名称为:contentView,(可设置背景色为蓝色,方便观察) 修改contentView 的frame 为 600*700,添加contentView相对于UIScrollView 的约束,如图:


使用AutoLayout实现UIScrollView_第2张图片
contentview.png

3,再添加contentView相对于UIScrollView 的宽约束: equal widths
4,最后将contentView 的bottom constant 修改为0 即可

原理: contentView 的size 是为了确定scrollview的contentSize.
demo: https://github.com/wangjianlewo/TestBigScrollViewWithAutoLayout

和屏幕一样大的scrollview的另一种方式

1.拖动一个scrollview 到 空白的VC 的View 上,并添加相对于View的约束,如图:

使用AutoLayout实现UIScrollView_第3张图片
scrollview.jpg

2.拖到一个UIView 到 scrollview上, 修改其名称为:contentView,(可设置背景色为红色,方便观察) 添加contentView相对于UIScrollView 的约束,如图:
使用AutoLayout实现UIScrollView_第4张图片
contentview.jpg

注意: bottom 的约束为1
3,再添加contentView相对于UIScrollView 的宽高约束.
选中contentView后,按住Ctrl,添加约束,如图:
使用AutoLayout实现UIScrollView_第5张图片
widthAndHeight.png

双击equal height的约束,进入编辑状态,设置其优先级 priority 小于 刚才设置的bottom的优先级, 这里设置为999
4,现在你可以随意添加一个控件来测试一下scrollview了.
demo: https://github.com/wangjianlewo/TestScrollViewWithAutoLayout

你可能感兴趣的:(使用AutoLayout实现UIScrollView)