Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动

在使用storyboard和xib时,咱们常常要用到ScrollView,还有自动布局AutoLayout,可是ScrollView和AutoLayout 结合使用,相对来讲有点复杂。根据实践,我说一下个人理解,在故事板或xib中,ScrollView是根据其下面的一个View的大小来肯定ContentSize的大小。布局

看一下效果date

Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
 

1. 建立一个项目,拖拽一个ScrollView到故事板中,以下图 互联网

Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
2. 选中ScrollView,添加约束。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
3. 拖拽一个View到ScrollView上, 而后添加上下左右四周约束。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
 4.添加完以后, 可能会报一个错, 以下图, 这个暂时别去管。  
Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享

5. 咱们先肯定一下, 咱们是须要水平方向的滚动仍是竖直方向的滚动,或者水平方向和竖直方向都须要滚动。autolayout

a.水平方向和竖直方向都须要滚动的话, 不用添加分页

b.水平方向滚动须要添加下面一个约束scroll

Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
c.竖直方向须要添加下面一个约束
Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
6.咱们以水平方向滚动为例,  咱们须要肯定咱们想要的宽度, 添加一个固定的宽度的约束。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
7.若是是想要动态设置ScrollView的宽度,也就是设置View的宽度约束的值, 咱们将其拉成属性, 而后修改其值。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
8. 若是是肯定的宽度, 能够在- (void)updateViewConstraints这个方法中修改,也能够在别处修改。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滚动 - 小强 - 肥小强互联网分享
 这样子就OK了。 能够经过代码来添加view而后就能够实现分页滚动了。
自动布局须要本身去多多实践, 有不少细节须要注意的。 

要往scrollView里面添加子控件--从向往下排方法

    0.设置scrollView的上下左右约束距离控制器view边距为零(肯定frame的大小)im

    1.要往scrollView添加一个内容Viewlayout

    2.约束内容的View左上右边距离父控件为0拖拽

    3.约束死内容的View的高度

    4.约束内容View在ScrollView的水平居中(垂直滑动)

    5.添加控件--从上往下排

    6.去掉内容View的约束死的那个高度的约束

    7.约束内容View距离底部最后一个控件View的间距

相关文章
相关标签/搜索