iOS工作系列iOS DeveloperiOS 开发

XIB中UIScrollView的自动布局

2016-02-20  本文已影响2841人  随梦而飞飞

效果

** 1 . 第一步 --> ScrollView**

1-拖动一个ScrollView 1-给ScrollView添加相对于SuperView的约束

** 2 . 第二步 -->Contain View**

  1. 在拖动一个View(将其命名为Contain VIew)到ScrollView上,然后添加上下左右的约束
    注意 :这个 ScrollView就是根据这个Contain View 来确定ContentSize的大小的

    2-添加Contain View约束
    特别提醒添加完 Contain View的约束后~Xcode 会报错 暂时先别管
  2. 根据横竖屏 设置Contain View的额外约束

    • 我们需要先确定 我们ScrollView是横屏滚动还是 竖屏滚动
    • 如果 横竖屏都需要滚动的话 就不需要添加下面的约束

    a .横屏滚动

3-根据横竖屏 添加Contain View的额外约束条件

3 . 设置Contain View的高度(如果是横屏的就要设置宽度)

4-ContainView的高度约束

4.如果是确定的宽度 可以在updateViewConstraints方法中修改,也可以在别的地方修改

//更新约束
- (void)updateViewConstraints
{
    [super updateViewConstraints];
    //设置ContentSize为3个屏幕的宽度
    self.ViewHeight.constant= CGRectGetHeight([UIScreen mainScreen].bounds)*3;
}

**3.第三步 -->添加Contain View内的UI控件 **


3-为需要添加的三个视图 添加约束
//更新约束
- (void)updateViewConstraints
{
    [super updateViewConstraints];
    //设置ContentSize为3个屏幕的宽度
    self.ViewHeight.constant= CGRectGetHeight([UIScreen mainScreen].bounds)*3;
    //第二个视图top距离SuperView的距离 也就是第一个视图的高度
   self.secondViewTop.constant=CGRectGetHeight([UIScreen mainScreen].bounds);
    //第三个视图top 距离SuperView的距离 也就是第二个视图的高度
    self.threeViewTop.constant=CGRectGetHeight([UIScreen mainScreen].bounds)*2;
    //第三个视图的高度= ContentSize.height(self.ViewHeight.constant)-(self.threeViewTop.constant)
}

参考文章
如何对scrollview进行自动布局
参考Demo: GitHubDemo

上一篇下一篇

猜你喜欢

热点阅读