当你创建一个App的时候你希望布局所有元素在所有的设备上。因此,如果你用iPhone SE,你计算X,y ,Width 和高度给每个视图,因此自动布局 = positon + Size。当你想支持横屏的时候,你需要增加一些代码去检查横屏,并且计算不同的值给这个功能。当然你想它运行在多个设备上,例如iPhone7 ,iPhone 7 plus。你也检测在不同设备运行的场景,这有大量的工作,但是你仍然需要增加一些代码去适配iPad,iPad pro。并且ipad有 split 屏幕功能,因此你需要处理1/3,1/2,2/3屏幕功能,我们仍然没有增加label。需要更改size去适配不同的语言,或者让用户选择字体size,如果你将要写代码去支持以上的种种,在你得到app的功能之前你将要写数百行的代码,或者你可以使用auto layout

自动布局 tools -autoresizing mask

最早期苹果介绍的帮助创建简洁布局被称之为 autoresizing masks,这些十分有限,但是在一些场景下是十分有用的

stack views

屏幕快照 2017-07-29 下午8.11.11

使用简单,但是功能强大,让你很快创建成熟的布局

constraints

屏幕快照 2017-07-29 下午8.14.31

构建约束去描述给自动布局系统,去给每个设备和场景去计算你所有视图的position value