详解ios中scrollView上使用masonry

时间:2021-11-01 15:31:07

使用scrollView的一个子视图对contentSize进行调整

?
1
2
3
4
5
_scroll_Bg = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 100, SCREEN_W, 200)];
  _scroll_Bg.pagingEnabled = YES;
  _scroll_Bg.delegate = self;
  _scroll_Bg.backgroundColor = [UIColor redColor];
  [self.view addSubview:_scroll_Bg];

1,现在scrollView添加一个主要子视图,大小贴合scrollView

?
1
2
3
4
5
6
7
UIView *bgView = [[UIView alloc] init];
  bgView.backgroundColor = [UIColor blueColor];
  [_scroll_Bg addSubview:bgView];
  [bgView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.left.bottom.and.right.equalTo(_scroll_Bg).with.insets(UIEdgeInsetsZero);
    make.width.equalTo(_scroll_Bg);
  }];

2,此后所有子视图都需添加在此bgView上

?
1
2
3
4
5
6
7
8
UIView *childV = [[UIView alloc] init];
  childV.backgroundColor = [UIColor cyanColor];
  [bgView addSubview:childV];
  [childV mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.right.mas_equalTo(0);
    make.top.mas_equalTo(250);
    make.height.mas_equalTo(1000);
  }];

3,以最后所加子视图为准,再对bgView进行重新约束

?
1
2
3
[bgView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.bottom.equalTo(childV.mas_bottom);
  }];

以上就是本次给大家整理的全部内容,如果还有任何不明白的地方可以在下方的留言区讨论,感谢你对服务器之家的支持。