介绍:Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且同时支持 iOS 和 Max OS X。
送上源码地址:https://github.com/Masonry/Masonry
Masonry与NSLayoutAttrubute的对照表如下
通过一些简单的实例来简单介绍如何轻松愉快的使用Masonry:
注:使用Masonry必须要先加载在做约束!!!效果图:
当然有新添加增加约束,也有修改和重设约束。
//这个是修改约束
- (void)updateConstraints { [self.growingButtonmas_updateConstraints:^(MASConstraintMaker *make) { make.center.equalTo(self); make.width.equalTo(@(self.buttonSize.width)).priorityLow(); make.height.equalTo(@(self.buttonSize.height)).priorityLow(); make.width.lessThanOrEqualTo(self); make.height.lessThanOrEqualTo(self); }];//according to apple super should be called at end of method[superupdateConstraints];}
//从新设置约束
[self.buttonmas_remakeConstraints:^(MASConstraintMaker *make) { make.size.equalTo(self.buttonSize);if(topLeft) { make.top.and.left.offset(10); }else{ make.bottom.and.right.offset(-10); } }];
网友评论