自己看过网上的一些资料有一些理解,这几天看了一本电子书重新有了自己的理解,就想着写下来。size class可以对不同设备横屏、竖屏状态下,对控件设置不同的约束。实现不同的界面布局。
(一)竖屏
竖屏的时候iPhone为wC hR,iPad为wR hR.
1)在底部view as工具栏里选择一种设备,并选择竖屏方向。
设备方向选择
2)点击vary for Traits勾选Height,代表选择了所有wAny hRegular的设备,这时候设置的约束作用于这些方向设备。(这里为什么会是hRegular呢?因为你上一步中选择了iPhone 8 ,其在竖屏状态下就是hRegular,你选择哪一种设备和方向,在vary for traits中就会是哪种设备的size class)
勾选Height
同时勾选则选择了wC hR的设备(和iphone 8竖屏状态size classes一样)
在只勾选Height时设置约束使得图片和文字上下分布。对横屏iphone是没有的约束。
WX20180409-211600@2x.png
(二) 横屏
同理,横屏的时候iphone6/7/8 plus为wR hC, 其它为wC hC.如果要为横屏iphone设置图片在左,文字在右布局。
1)方向选择横屏。
2.1
2)勾选Height,则选择了wAny hC的设备,此时设置的约束只作用于这些设备。
2.2
image.png
在大纲视图可以看到一些约束是灰色,说明在当前size class下不可用。
image.png
像控件的一些属性也可以设置在某些size class状态下有效。
image.png
总结
size class可以在不同设备不同方向对控件设置不同的约束,也可以针对控件特定属性设置在某些size class下有不同值。