人們通常希望在他們所有的設備和多種情境中使用自己喜歡的應用程序比如在不同的設備方向上和iPad的分屏情況下。尺寸類別 Size classes和自動布局Auto Layout可以通過定義屏幕的布局、視圖控制器和視圖在環(huán)境變化時候應該怎么適應來幫助你實現(xiàn)這個愿望。顯示環(huán)境[display environment]的概念指的是設備的整個屏幕或者其中一部分比如彈出框的區(qū)域或者iPad分屏視圖中其中一側的區(qū)域。
iOS在特征集合trait collection的定義中包含了顯示環(huán)境的概念特征集合囊括了尺寸類別size class顯示比例display scale和用戶界面語言user interface idiom。你可以使用一個特征集合讓你的視圖和視圖控制器響應顯示環(huán)境的變化。
iOS定義了兩個尺寸類別size class常規(guī)的regular和壓縮的compact。常規(guī)尺寸與拓展的空間緊密相關壓縮尺寸與約束的空間相關。想要定義一種顯示環(huán)境你需要定義一種橫屏尺寸類別與一種豎屏尺寸類別。如你所想一個iOS設備在豎屏模式可以使用一套類別而橫屏模式下可以使用另一套類別。
iOS能隨著尺寸類別和顯示環(huán)境變化而自動生成不同布局。舉個例子當垂直尺寸從壓縮變?yōu)槌R?guī)時導航欄和工具欄會自動變高。
當你靠尺寸類別來驅動布局變化時你的應用在任何顯示環(huán)境時都能顯示得很好。關于如何在Interface Builder中更好的使用尺寸類別你可以查閱Size Classes Design Help.
注在一種尺寸類別中持續(xù)使用Auto Layout進行小的布局調整比如拉伸或壓縮內容。更多Auto Layout參看 Auto Layout Guide.
下面的實例可以幫助你形象展現(xiàn)尺寸類型如何適配不同設備的顯示環(huán)境。例如iPad包括iPad Pro在長寬和橫屏豎屏時都使用常規(guī)尺寸類型。換句話說iPad顯示環(huán)境一直處于垂直和水平的常規(guī)狀態(tài)。
注合格的iPad型號支持多任務你的應用可能需要與其他應用共享同一個屏幕。確保使用Auto Layout這樣你可以在用戶使用多任務功能時響應他比如 分屏模式Split View和多任務分屏模式Slide Over。
除了使用Auto Layout當你在iPad Pro上展示可讀性的內容時依靠UIView的 readableContentGuide屬性是非常重要的這樣可以擁有讓讀者舒服的邊距。
iPhone的顯示環(huán)境可根據(jù)不同的設備和不同的握持方向而改變。
豎屏時iPhone6 Plus使用的是壓縮寬度和常規(guī)高度類型。
橫屏時iPhone6 Plus使用的是常規(guī)寬度和壓縮高度類型。
其他iPhone型號包括iPhone6使用相同的尺寸類型設置。
豎屏時iPhone 6iPhone 5 和iPhone 4S使用的是壓縮寬度和常規(guī)高度。
橫屏時這些設備在寬高上使用的都是壓縮類。
更多建議: