iOS 自动布局(Autolayout)
1. 自动布局
关于自动布局主要有两种方式
1.1 Autoresizing
这种方式基本上在iphone6,iphone6 plus没出来前就够用了,因为屏幕宽度都是固定的,就偶尔几个地方需要用到知道布局,使用Autoresizing Mask基本上能满足大部分需求。IOS自动布局之Autoresizing
1.2 Autolayout
iphone6,iphone6 plus出来后很多人就开始关注Autolayout了,再不用就没办法适配了!
在xib上使用Autolayout是十分方便的,直接在界面上拖拖拉拉就可以完成自动布局了,苹果也鼓励使用xib进行开发。但大部分开发者还是习惯使用纯代码进行UI编写的。
纯代码编写的好处:看起来牛逼啊,运营啊美工啊他们根本看不懂啊,这样价值就体现了啊。不然使用xib的话我们不就成了美工了吗,直接拖拽,感觉都没技术含量(我自己在瞎逼逼,哈哈)。好处其实是执行效率高,代码容易复用,在多人协作项目管理更方便。
我个人就是纯代码编写的,所有就找了用代码来使用Autolayout的例子
- Visual format language
这是官方的纯代码方式使用Autolayout,但是看起来就很难用啊,看下面这段代码,我第一眼看到就不想用了。如果谁想了解一下的话推荐一篇Autolayout及VFL经验分享
NSDictionary *dict1 = NSDictionaryOfVariableBindings(_boxV,_headerL,_imageV,_backBtn,_doneBtn);
NSDictionary *metrics = @{@"hPadding":@5,@"vPadding":@5,@"imageEdge":@150.0};
NSString *vfl = @"|-hPadding-[_boxV]-hPadding-|";
NSString *vfl0 = @"V:|-25-[_boxV]";
NSString *vfl3 = @"V:|-vPadding-[_headerL]-vPadding-[_imageV(imageEdge)]-vPadding-[_backBtn]-vPadding-|";
- Masonry
这是一个第三方的非常好用的开源框架,Masonry让用代码写Autolayout成为可能,而且非常强大,清晰好用,具体例子可以到github上下载demo看看Masonry。 博客介绍masonry