自己看過網(wǎng)上的一些資料有一些理解,這幾天看了一本電子書重新有了自己的理解,就想著寫下來。size class可以對不同設備橫屏、豎屏狀態(tài)下,對控件設置不同的約束。實現(xiàn)不同的界面布局。
(一)豎屏
豎屏的時候iPhone為wC hR,iPad為wR hR.
1)在底部view as工具欄里選擇一種設備,并選擇豎屏方向。

設備方向選擇
2)點擊vary for Traits勾選Height,代表選擇了所有wAny hRegular的設備,這時候設置的約束作用于這些方向設備。(這里為什么會是hRegular呢?因為你上一步中選擇了iPhone 8 ,其在豎屏狀態(tài)下就是hRegular,你選擇哪一種設備和方向,在vary for traits中就會是哪種設備的size class)

勾選Height

同時勾選則選擇了wC hR的設備(和iphone 8豎屏狀態(tài)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狀態(tài)下有效。

image.png
總結(jié)
size class可以在不同設備不同方向?qū)丶O置不同的約束,也可以針對控件特定屬性設置在某些size class下有不同值。