Size classes
是iOS8中新特性,有了它可以根据设备屏幕或者旋转状态来自定义app布局,在iOS8之前,开发者需要用多个Storyboards使用不同的UI布局来适配旋转状态及不同的设备。在这篇教程中我们主要看看在Xcode6中如何使用Size Classes
来适配。
打开Xcode,新建项目选择Single View Application,Product Name填写iOS8SizeClassesTutorial,Organization Name和Organization Identifier根据自己填写,选择Swift语言
与Universal
设备。

打开storyboard,在Xcode6中视图控制显示的为正方形,这是因为size class默认为Any width
与And height
。在storyboard给每个角落位置增加一个按钮,名称分别为"top-left,top-right, bottom-left and bottom-right".将ViewController背景颜色设置为Cyan,这时Storyboard看起来大致如下:

编译运行后,可以发现右边的2个按钮不见了,这是因为layout是为And-width和Any-height设计的。接下来,我们将按钮固定在每个角落上,选择top-left button,Ctrl+Drag方式拉到左边ViewController上并选择“Leading Space to Container Margin”(如下图),这时按钮Button将会固定在left位置。


接下来,再按以上方式然后选择“Top Space to Top Layout Guide”,这时按钮Button则会固定在Top位置。