如何在xib中描述一个scrollView的步骤:
1.拖入一个scrollView并设置他的frame
2.将一个UIView拖入scrollView,成为scrollView唯一的子控件,并设置UIView相对scrollView上下左右对齐(即用UiView完全填充Scrollview)
3.设置UIView宽度和高度,即为scrollView的contentSize
4.设置UIView水平对齐,即为scrollView垂直滚动,设置UIView垂直对齐,即为scrollView水平滚动
5.要设置scrollView的contentSize随子控件而改变,则删除UIView的高度,并设置最底部的子控件UIView距离为XXX
在Storyboard\Xib中添加UIScrollView
-
01 在storyboard\xib添加一个ScrollView 并设置约束,
-02 ScrollView距离其父控件的上下左右都为0
-03 在Scrollview中添加子控件ContentView,并设置约束。
注意:是距离父控件Scrollview的上下左右为0(不要设置距离Frame layout Guide的上下左右为0)
04 给ContentView设置一个较高的高度,这个高度就是Scrollview的contentSize的height(这里可以不设置宽度,默认和其父控件ScrollView一样宽)
-04 给ContentView设置为水平居中(如果scrollView为横向滚动,则不要设置高度和水平居中,而是设置宽度和垂直居中)
-05 添加到ScrollView的视图,不能直接添加在ScrollView里面,只能添加在ContentView里面才能实现滚动
添加一个Switch控件到ContentView
设置Switch控件的约束,运行项目,实现了ScrollView在Storyboard\Xib的滚动
06 后续要实现子控件动态布局时,只需要将ContentView的高度约束去掉,并且设置ContentView底部最后一个控件A的约束, ContentView.bottom == A.bottom + space,即可实现自动布局!
-------------------------------------------以下备忘信息---------------------------
- 给添加一个UIView类型的子控件A(这将是UIScrollView唯一的一个子控件)
- 设置A距离UIScrollView上下左右间距都为0
- 往A中再添加其他子控件
- 上下滚动(垂直滚动)
- 设置A的高度(这个高度就是UIScrollView的内容高度: contentSize.height)
- 设置A在UIScrollView中左右居中(水平居中)
- 左右滚动(水平滚动)
- 设置A的宽度(这个宽度就是UIScrollView的内容宽度: contentSize.width)
- 设置A在UIScrollView中上下居中(垂直居中)
- 上下左右滚动(水平垂直滚动)
- 设置A的宽度(这个宽度就是UIScrollView的内容宽度: contentSize.width)
- 设置A的高度(这个高度就是UIScrollView的内容高度: contentSize.height)