使用sizeClass過程中的註意事項及細節*從iOS8開始才支持size classes* size classes本質就是對所有的屏幕進行了分類,我們可以為不同類型的屏幕設置不同的約束*僅僅是對屏幕進行了分類,真正排布UI元素還得使用autolayout*不再有橫豎屏的概念,只有屏幕尺寸的概念*...
使用sizeClass過程中的註意事項及細節
* 從 iOS8開始才支持 size classes
* size classes本質就是對所有的屏幕進行了分類, 我們可以為不同類型的屏幕設置不同的約束
* 僅僅是對屏幕進行了分類, 真正排布UI元素還得使用autolayout
* 不再有橫豎屏的概念, 只有屏幕尺寸的概念
* 不再有具體尺寸的概念, 只有抽象尺寸的概念
* 把寬度和高度各分為3種情況
1> any(任意, 表示既可以是 compact, 也可以是 regular), 一般用 *表示
2> compact(緊湊, 小), 一般用 - 表示
3> regular(正常, 大), 一般用+表示
4> ** 註意:
一般不要在 wAny 和 hAny下設置約束, 否則當在 wAny 和 hAny下設置約束後, 在其他尺寸的屏幕再設置約束會產生衝突。因為約束會被繼承下來。
約束的繼承關係(*符號就表示+ 或者 -):
* * : 其它8種情況都會繼承
* - : 會被- - \ + -繼承
+ * : 會被+ - \ + +繼承
緊湊的寬高--
適用於手機3.5/4/4.7橫屏
*- 緊湊的高
適用於所有手機橫屏
—+正常寬緊湊高
適用於手機5.5橫屏
-*緊湊的寬任意的高
適用於3.5/4/4.7手機橫屏和豎屏
**適用於所有屏幕
+*適用於iPad橫屏和豎屏
-+緊湊寬正常高
適用於所有手機的豎屏
*+適用於所有手機豎屏和iPad的橫豎屏
++適用於iPad的橫豎屏