autolayout iOS6就已经支持,也用了很长时间了,却一直没有使用autoLayout 实现过scrollview. 网上查了一些资料,都写的好复杂,今天写一个简单的实现方式.
设置比屏幕大小要大的scrollview的方法:
1.拖动一个scrollview 到 空白的VC 的View 上,并添加相对于View的约束,如图:
2.拖到一个UIView 到 scrollview上, 修改其名称为:contentView,(可设置背景色为蓝色,方便观察) 修改contentView 的frame 为 600*700,添加contentView相对于UIScrollView 的约束,如图:
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的约束,如图:
2.拖到一个UIView 到 scrollview上, 修改其名称为:contentView,(可设置背景色为红色,方便观察) 添加contentView相对于UIScrollView 的约束,如图:
注意: bottom 的约束为1
3,再添加contentView相对于UIScrollView 的宽高约束.
选中contentView后,按住Ctrl,添加约束,如图:
双击equal height的约束,进入编辑状态,设置其优先级 priority 小于 刚才设置的bottom的优先级, 这里设置为999
4,现在你可以随意添加一个控件来测试一下scrollview了.
demo:https://github.com/wangjianlewo/TestScrollViewWithAutoLayout