Masonry使用

看一下Masonry支持哪一些属性

@property(nonatomic,strong,readonly) MASConstraint *left;

@property(nonatomic,strong,readonly) MASConstraint *top;

@property(nonatomic,strong,readonly) MASConstraint *right;

@property(nonatomic,strong,readonly) MASConstraint *bottom;

@property(nonatomic,strong,readonly) MASConstraint *leading;

@property(nonatomic,strong,readonly) MASConstraint *trailing;

@property(nonatomic,strong,readonly) MASConstraint *width;

@property(nonatomic,strong,readonly) MASConstraint *height;

@property(nonatomic,strong,readonly) MASConstraint *centerX;

@property(nonatomic,strong,readonly) MASConstraint *centerY;

@property(nonatomic,strong,readonly) MASConstraint *baseline;

这些属性与NSLayoutAttrubute的对照表如下:


首先在Masonry中能够添加autolayout约束有三个函数

- (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则会清除之前的所有约束仅保留最新的约束。

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

非常好的一篇Masonry的文章

http://www.jianshu.com/p/10a250cc5018

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容