Masonry的使用

Masonry介绍

  Masonry是一个轻量级的布局框架,对开纯手写代码的我来说,它提供的帮助实在太大了,在此记录下。
先上源码:https://github.com/Masonry/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;//文本基线

Masonry中的约束函数

//新增约束,Autolayout不能同时存在两条针对于同一对象的约束
- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;     

//更新约束
- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;     

//删除约束
- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;

Masonry中约束用法

//详细例子请查看Masonry里面的Examples
__weak ViewController *weakself = self;

UIView *view = [UIView new];
view.backgroundColor = [UIColor grayColor];
[self.view addSubview:view];

[view mas_makeConstraints:^(MASConstraintMaker *make) {
    make.center.equalTo(weakself.view);//设置中心点
    make.size.mas_equalTo(CGSizeMake(300, 300));//设置大小
}];