[iOS] 自动布局Masonry工具包的简化操作

特别说明,这是适合我自己的做法,其他人使用有可能引起不适,请在用过Masonry的人员陪同下观看。

用了Masonry,感觉写了一堆小圆点但是只是传递一两个参数用起来特别麻烦,所以就偷懒吧。


这些宏定义只能写在 mas_makeConstraints调用的block里面使用的,并且block参数变量名必须是make。

下面几个Align要这么理解:自己向谁对齐,自己的哪里向谁的哪里对齐。

比如:AlignLeft( toView, margin ) 意思是,自己向toView左对齐,并且间距为margin

又比如:TopAlignBottom(toView,margin) 意思是,自己的顶部向toView的底部对齐,并且间距为margin。

#define MakeHeight( h )                    make.height.mas_equalTo((h))

#define MakeWidth( w )                     make.width.mas_equalTo((w))

#define MakeSize( width,height)            make.size.mas_equalTo(CGSizeMake((width), (height)))

#define AlignLeft( toView, margin)         make.left.equalTo( (toView).mas_left ).with.offset((margin))

#define AlignRight( toView, margin)        make.right.equalTo( (toView).mas_right ).with.offset((margin))

#define AlignTop( toView, margin)          make.top.equalTo( (toView).mas_top ).with.offset((margin))

#define AlignBottom( toView, margin)       make.bottom.equalTo( (toView).mas_bottom ).with.offset((margin))

#define BottomAlignTop( toView, margin)    make.bottom.equalTo( (toView).mas_top ).with.offset((margin))

#define TopAlignBottom( toView, margin)    make.top.equalTo( (toView).mas_bottom ).with.offset((margin))

#define LeftAlignRight( toView, margin)    make.left.equalTo( (toView).mas_right ).with.offset((margin))

#define RightAlignLeft( toView, margin)    make.right.equalTo( (toView).mas_left ).with.offset((margin))

#define HorizontalCenter( toView )         make.centerX.equalTo((toView))

#define VerticalCenter( toView )           make.centerY.equalTo((toView))



举例:

[labelAccount mas_makeConstraints:^(MASConstraintMaker *make) {

        MakeSize(100, 40);

        AlignLeft(self.view, 25);

        AlignTop( self.view, 120);

    }];


 末了,建议将这些宏直接改写成MASConstraintMaker的方法(成员函数)比较好,那样用起来比较安全,我这么做比较危险。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值