Masonry 实践

Masonry 实践1: 实现一个按比例排布的布局

字数194  阅读1390  评论0 

需求如下:

有这样一个界面,横向排列 2 个 UIView ,左边的 UIView 的宽度是右边 UIView 宽度的一半,左边 UIView 的高宽比是固定的,整个视图支持旋转

storyboard 里面设置约束应该也是可以做到的,不过约束一多就分不清哪个是哪个了,很容易乱掉,想了想这个用 Masonry 来实现,看起来可维护性更好一点。

实现代码如下,意思很明白,应该不用解释了吧,源码地址

    [self.leftView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.leading.mas_equalTo(padding);
        make.top.mas_equalTo(padding);
        make.height.equalTo(self.leftView.mas_width).multipliedBy(ratio);
    }];
    [self.rightView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(padding);
        make.leading.equalTo(self.leftView.mas_trailing).with.offset(padding);
        make.trailing.mas_equalTo(-padding);
        make.width.equalTo(self.leftView.mas_width).multipliedBy(2);
        make.height.equalTo(self.leftView.mas_height);
    }];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值