Masonry的使用

2018-04-23  本文已影响20人  frankisbaby

1.equalTo和mas_equalTo的区别:

mas_equalTo后边跟基础数据类型和对象都可以;

equalTo后边只能跟基础数据类型;

2.链式调用等于某个值

  make.left.top.bottom.right.mas_equalTo(self.view).offset(0);

或者

   make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsMake(10, 10, 10, 10));

3.1 

知道UIScrollView的contentSize来设置约束

给UIScrollView添加的约束是定义其frame,设置contentSize是定义其内部大小。UIScrollView进行addSubview操作,都是将其子视图添加到contentView上。

所以,添加到UIScrollView上的子视图,对UIScrollView添加的约束都是作用于contentView上的。只需要按照这样的思路给UIScrollView设置约束,就可以掌握设置约束的技巧了。

3.2 UIScrollView随着内容的增多变化

这时候只需要设置子视图的上下左右,以及高度,就可以进行滚动了。高度可以把UIScrollView给撑开;

 [self.grayView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.left.mas_equalTo(self.redView.mas_left);

        make.top.mas_equalTo(self.redView.mas_bottom);

        make.width.mas_equalTo(200);

        make.height.mas_equalTo(1000);

        make.bottom.mas_equalTo(self.scrollView);

    }];

4.添加masonry动画

masonry动画和UIView动画一样,只是需要把父元素重新布局,就是下边的粗体代码;

 [UIView animateWithDuration:10 animations:^{

        [self.redView mas_updateConstraints:^(MASConstraintMaker *make) {

            make.top.mas_equalTo(200);

        }];

        self.redView.alpha = 0.5;

        [self.view layoutIfNeeded];

    }];

上一篇下一篇

猜你喜欢

热点阅读