標籤:
在 iOS8 中,我們不用再像以前那樣,一個頁面建立多個 xib 檔案來適配不同類型的螢幕,現在我們可以把各種尺寸螢幕的適配工作放在一個檔案中完成,然後可以通過不同類別的 Size 來定製各種尺寸的介面。換句話說,你眼前的 Storyboard 不是一個普通的 Storyboard ,而是一個九合一的 Storyboard ,可以管理九種類型的螢幕。
對於寬度和高度而言,都有三種情況:緊湊 (Compact) 、任意 (Any) 、 正常 (Regular) ,所以一共有3*3=9個類別。
在設定 Size Class 的時候頁面會有提示。預設情況下寬和高都為Any,如。
我們可以從Size Class設定介面看到,上方文字Any Width Any Height就是表示寬和高都為任意;下方文字For all layouts 意思顯然就是適用於所有尺寸。
Size Class 的作用是將不同尺寸的螢幕進行分類處理,而最後進行布局管理的還是Autolayout。
現在我們做一個小實驗,首先向視圖中加入一個置中的button按鈕,如所示
這時候 我們再進入Size Class的設定介面,將Size設定為如所示
從Size Class設定介面的上方文字可以看到,此時,寬度是正常的,高度是緊湊的;從下方文字可以看到For 5.5inch iPhones in landscape。意思即為適用於5.5寸iPhone橫屏,那不就是iPhone6+橫屏嘛。(至於其他的Size,我就不再示範,只示範這一個,我想大家都可以舉一反三的)。我們這時候再向螢幕中假如一個按鈕button,如
這時運行程式就可以看到效果,我們第一次添加的按鈕,無論是用iPhone4,5還是6等都會出現,但是第二次添加的按鈕,只有在iphone6+的橫屏的情況下才會出現。我想大家應該明白為什麼第二個按鈕只會在iPhone6+上面顯示了吧。這我就不再解釋了。
示範結果(iphone6+豎屏和橫屏)
手把手教你使用Size Class