简述地址:http://www.jianshu.com/p/0ed897e93909
什么是ZXPAutoLayout ?
iOS原生的自动布局(NSLayoutConstraint
)非常繁琐, 影响开发进度和可读性也不利于维护, 正所谓工欲善其事必先利其器 , 有一个良好的自动布局框架, 则会让我们事半功倍. 而ZXPAutoLayout
则是解决这一问题和诞生 . 采用新颖的链式语法, 扩展性,可读性,维护成本也较低.并致力打造最好用,最简洁,最方便,最轻巧的自动布局.ZXPAutoLayout的github地址请戳我
ps : autolayout简单来说就是 适配iPhone机型并且是0数学布局和兼容横竖屏,如不懂童鞋, 请自寻网上查阅
举个例子:
在使用ZXPAutoLayout之前,也就是原生的iOS布局,要添加一个约束是这样的:NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:view //第一个view attribute:NSLayoutAttribute //约束属性, 比如上下左右宽高等间距 relatedBy:NSLayoutRelationEqual //相等,或者大于等于,小于等于 toItem:secondView //第二个view,也就是第一个view是要参照第二个view的 attribute:NSLayoutAttribute //参照第二个view的属性 multiplier:multiplier //比例0--1 constant:0]; //约束值
就这样随便加一个约束就如此的繁琐,更何况一个view最起码有上边距,左边距和宽高,也就是所谓的
x,y,width,height
四个基本属性.就相当于以上那复杂的代 码就要最少写四次.而现在用
ZXPAutoLayout
来给一个view添加上边距,左边距,宽高.
//设置一个背景为半透明红色的view,上下左右四边都距离superview的距离为10
UIView *bgView = [UIView new];
[self.view addSubview:bgView];
bgView.backgroundColor = [[UIColor redColor] colorWithAlphaComponent:.5];
[bgView zxp_addConstraints:^(ZXPAutoLayoutMaker *layout) {
//上下左右四边都距离superview的距离为10
layout.edgeInsets(UIEdgeInsetsMake(10, 10, 10, 10));
//也可以如下这行代码来设置,但要同时设置top,left,bottom,right.推荐以上写法,比较简洁.
//layout.topSpace(10).leftSpace(10).bottomSpace(10).rightSpace(10);
}];
加入ZXPAutoLayout !
第一种方式:直接去github上下载:https://github.com/biggercoffee/ZXPAutoLayout
第二种方式: 直接在Cocoapods里搜索ZXPAutoLayout (不知道什么是cocoapods或者使用方法者请自行百度, Google, 网上一大堆资料). 搜索命令:
注意:有些用Cocoapods搜索出来的版本不是最新或者无法搜索到的, 请升级一下cocoapods即可pod search zxpautolayout
然后在安装到你的cocoapods里.
如何使用它?
在需要的地方导入ZXPAutoLayout.h
头文件即可