美文网首页
关于Masonry

关于Masonry

作者: 9426Ami | 来源:发表于2017-06-14 15:21 被阅读0次

    一.三种布局约束

    -(NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;

    -(NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;

    -(NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;

    /*

    mas_makeConstraints只负责新增约束Autolayout不能同时存在两条针对于同一对象的约束否则会报错

    mas_updateConstraints针对上面的情况会更新在block中出现的约束不会导致出现两个相同约束的情况

    mas_remakeConstraints则会清除之前的所有约束仅保留最新的约束

    三种函数善加利用就可以应对各种情况了

    */

    二.equalTo和mas_equalTo的区别

    mas_equalTo和equalTo区别:前者比后者多了类型转换操作,支持CGSize CGPoint NSNumber UIEdgeinsets。mas_equalTo是equalTo的封装,equalTo适用于基本数据类型,而mas_equaalTo适用于类似UIEdgeInsetsMake等复杂类型,基本上它可以替换equalTo。

    三.属性位置设置

    1.size:

    make.size.mas_equalTo(self.view).offset(-20);

    make.size.equalTo(self.view).offset(-20);

    2.居中

    make.centerX.equalTo(self.view.mas_centerX);

    make.centerY.equalTo(self.view.mas_centerY);

    /*

    等同于:make.center.mas_equalTo(self.view);:

    */

    3.位置及大小

    make.edges.equalTo(sv).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));

    /*等价于

    make.top.equalTo(sv).with.offset(10);

    make.left.equalTo(sv).with.offset(10);

    make.bottom.equalTo(sv).with.offset(-10);

    make.right.equalTo(sv).with.offset(-10);

    */

    UIEdgeInsets UIEdgeInsetsMake (

    CGFloat top,

    CGFloat left,

    CGFloat bottom,

    CGFloat right

    );

    /*也等价于

    make.top.left.bottom.and.right.equalTo(sv).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));

    */

    相关文章

      网友评论

          本文标题:关于Masonry

          本文链接:https://www.haomeiwen.com/subject/yeosqxtx.html