使用AutoLayout实现UIScrollView

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

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

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


scrollview.jpg

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


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的约束,如图:

scrollview.jpg

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

注意: bottom 的约束为1
3,再添加contentView相对于UIScrollView 的宽高约束.
选中contentView后,按住Ctrl,添加约束,如图:
widthAndHeight.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容