这篇主要是讲差异性布局有两种方法可以做到差异性布局。
第一种很接地气:给屏幕的方向转动添加一个观察者,当屏幕转动的时候,将布局做相应的改动。
第二种使用Xib中的sizeClass,Xcode8之后更名为Vary for Traits。也是本文主要要介绍的。
Vary for Traits
选中Width:发现不管是横屏还是竖屏都支持,会发现约束会同时应用到iPhone的横竖屏
选中Height:只支持竖屏,接下来添加的约束就只会运用到竖屏界面上了
选完之后,会看到原本的Vary for Traits按钮变成了 Done Varying,这表示当前正处编辑状态。Done Varying表示点击之后就完成,相当于保存的效果。
先拉控件UIImageView到屏幕中,先不加约束,
![](https://img.haomeiwen.com/i2389367/56053bb551945ee8.png)
选中Vary for Traits的width进入编辑约束状态
为UIImageView添加约束
结束编辑就按Done Varying
![](https://img.haomeiwen.com/i2389367/18bb018ea96744cd.png)
先拉控件First/Second按钮到屏幕中,先不加约束,
选中Vary for Traits的width,height进入编辑约束状态:此状态只适应竖屏
结束编辑就按Done Varying
![](https://img.haomeiwen.com/i2389367/63fb4130558c9bee.png)
进入横屏状态,可以看到First/Second按钮是没有约束的
![](https://img.haomeiwen.com/i2389367/f683a17b71c1f831.png)
选中Vary for Traits的height进入编辑约束状态:此状态只适应横屏
重新拉取First/Second按钮的约束
结束编辑就按Done Varying
![](https://img.haomeiwen.com/i2389367/3af45e496e945fbd.png)
最终达到的结果,横竖屏效果
![](https://img.haomeiwen.com/i2389367/4b06d4098ee9ab32.png)
![](https://img.haomeiwen.com/i2389367/a9e77b3fffbaf979.png)
网友评论