MasonryHidden

1.解决了什么问题

熟练使用masonry的童鞋,可以很快的使用masonry的属性搭建出复杂的UI页面.但是为了根据业务逻辑或者后台数据隐藏或者展示一个复杂页面的某一个或者某几个UI元素的时候,你可以会或多或少的会写一坨看起来不那么‘masonry’的语法.MasonryHidden优雅的解决了这个问题.

2.不使用MasonryHidden时

    //1.创建view
    UIView *subView1 = [[UIView alloc] init];
    [self.view addSubview:subView1];
    [subView1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(@20);
        make.right.equalTo(@(-20));
        make.top.equalTo(subView0.mas_bottom).offset(30);
        make.height.equalTo(@20);
    }];

    //2.根据业务逻辑或者数据进行隐藏或展示
    if (_subView1.hidden) {
        [_subView1 mas_updateConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(@20);
            make.right.equalTo(@(-20));
            make.top.equalTo(_subView0.mas_bottom).offset(0);
            make.height.equalTo(@0);
        }];
    } else {
        [_subView1 mas_updateConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(@20);
            make.right.equalTo(@(-20));
            make.top.equalTo(_subView0.mas_bottom).offset(30);
            make.height.equalTo(@20);
        }];
    }
复制代码

3.使用了MasonryHidden

    //1.创建view
    UIView *subView1 = [[UIView alloc] init];
    [self.view addSubview:subView1];
    [subView1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(@20);
        make.right.equalTo(@(-20));
        make.top.equalTo(subView0.mas_bottom).offset(30).autoHidden(subView1);
        make.height.equalTo(@20).autoHidden(subView1);
    }];

    //2.根据业务逻辑或者数据进行隐藏或展示
    _subView1.masonry_hidden = !_subView1.masonry_hidden;
复制代码

4.使用MasonryHidden

pod 'MasonryHidden'
复制代码

5.MasonryHidden源码地址

MasonryHidden

转载于:https://juejin.im/post/5b1c9e6de51d45069f5e23d7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值