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

你可能感兴趣的:(iOS 自动布局(Autolayout))