
常用的用法就不再多说
1 2 3 4 5 6
|
[view mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(@100); make.left.equalTo(@50); make.right.equalTo(@(-50)); make.height.mas_equalTo(50); }];
|
##Masonry的c骚操作
Masonry的库里有一个NSArray的Category,用法有点骚;当有多个view的时候,你可以将多个view放在Array中,用Array去约束,当然这种相当于批量操作。
更骚的是,当一行显示10个等分label的时候,for循环创建布局,然后计算?NO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
NSMutableArray <UIButton *> *buttons = [NSMutableArray new]; NSArray <NSString *> *titles = @[@"站内信",@"公告",@"消息"]; for (int i = 0; i < titles.count; i ++) { UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.tag = i+1000; [buttons addObject:button]; [self addSubview:button]; [[UIButton appearance] setExclusiveTouch:YES]; [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchDown]; [button mas_makeConstraints:^(MASConstraintMaker *make) { make.top.bottom.equalTo(self); }]; } [buttons mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:0 leadSpacing:0 tailSpacing:0];
|
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing
这两个方法的不同就在于第二个参数,第一个是“两个控件间隔”第二个是控件的宽或者高。
近期评论