masonry布局(类似计算器按钮的布局)

效果图

在这里插入图片描述
这篇博客要讲的就是这个简易计算器的按钮布局

代码

[self.buttonArr1 mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:10 leadSpacing:10 tailSpacing:10];
    [self.buttonArr1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(@(H / 3 + 85));
        make.height.equalTo(@88);
    }];
    [self.buttonArr2 mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:10 leadSpacing:10 tailSpacing:10];
    [self.buttonArr2 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(@(H / 3 + 185));
        make.height.equalTo(@88);
    }];
    [self.buttonArr3 mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:10 leadSpacing:10 tailSpacing:10];
    [self.buttonArr3 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(@(H / 3 + 285));
        make.height.equalTo(@88);
    }];
    [self.buttonArr4 mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:10 leadSpacing:10 tailSpacing:10];
    [self.buttonArr4 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(@(H / 3 + 385));
        make.height.equalTo(@88);
    }];
    [_zeroButton mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(@(H / 3 + 483));
        make.height.equalTo(@88);
        make.width.equalTo(@183);
        make.left.equalTo(@15);
    }];
    _pointButton.frame = CGRectMake(215, H / 3 + 483, 88, 88);
    _isButton.frame = CGRectMake(315, H / 3 + 483, 88, 88);

我将每一同行按钮设立一个分组,用于调整间距,因为最后一行按钮大小不统一,我目前还不知道统一调整间距的方法,故直接用frame设置

函数解析

withFixedSpacing: //每个view中间的间距
leadSpacing: //左最开始的间距
tailSpacing:; //右边最后的的间距

// 实现masonry水平固定间隔方法
[self.masonryViewArray mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:30 leadSpacing:10 tailSpacing:10];



 // 设置array的垂直方向的约束

[self.masonryViewArray mas_makeConstraints:^(MASConstraintMaker *make) {

    make.top.equalTo(150);

    make.height.equalTo(80);

}];





// 实现masonry垂直固定控件高度方法
[self.masonryViewArray mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedSpacing:30 leadSpacing:10 tailSpacing:10];


// 设置array的水平方向的约束

[self.masonryViewArray mas_makeConstraints:^(MASConstraintMaker *make) {

     

    make.left.equalTo(150);

    make.width.equalTo(80);

}];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值