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));//设置大小
}];