標籤:blog http os 使用 io for ar 2014 art
Size Classes with Xcode 6: One Storyboard for all Sizes
為所有的尺寸準備一個Storyboard
我最喜歡的Xcode6的特性是新的size classes 概念,有了它,我們解決了“我如何能夠快速的為那麼多的不同尺寸螢幕以及方向的裝置寫app”。他們也讓在一個storyboard中建立一個通用的app。通過與新的適應螢幕的controller聯合,它能夠更簡單的依靠interface builder,而不是與之對抗,從而簡化了你應用的布局。
應用中的每一個view controller 都有一個特別的collection對象,這個特別的collection對象都有兩個size classes,一個垂直size class 一個水平的size class。並且每一個class都有3個可能的值:compact,regular,或者any。這些值都能基於裝置和方向進行改變。你的app將會基於當前的size classes為每一個view controller 布局好它的介面。蘋果使用一個網格來讓使用者選擇哪個設定來工作,所以這裡有一個網格包含了裝置與方向,
高亮的是所對應的size class 組合
一個有趣的事情:ipad 是 regular x regular 。
“
Straight from Apple‘s ‘What‘s new in iOS8 guide‘ :
“With the amount of screen space available, the iPad has a regular size class in the vertical and horizontal directions in both portrait and landscape orientations.”
— Dr. Dre*”這裡是來自原文的一段話
好了,書本材料就到這裡,接下來開啟Xcode6 讓我們試一下。根據蘋果的NDA以及Xcode6的,而下面的這些都來自於Xcode5,所以我這些圖片僅僅是一些引導。
建立一個新的通用項目。如果你想要試一下Xcode6項目,你需要啟用size classes選項。你可以在Interface Builder中 勾選autolayout 的選項。
首先,讓我在Xcode中看一下size class的網格。這是一個你可以在不同的布局排列間切換的地區。當你查看storyboard的時候,看到視圖的底部,並且點擊‘wAny hAny’字樣的標籤。你將會看到一些類似網格的畫面。
預設的,我們以一個基礎的設定開始,也就是any width和any height。很多事情都將在這裡安置和改變,包括了iphone和ipad的所有方向的預設布局。蘋果建議把大多數的設定都在這個介面中進行設定。這個是因為減少工作量而顯得特別的簡單。讓我們布局一個超級寬的按鈕在畫面的中間。給它一個綠色的背景,從而讓我們看到它真實的尺寸,給它一個約束來讓他置中
並且給它一個誇張的固定寬度600。
好了,現在在ipad和iphone的模擬器都運行一下,你將會看到都是置中,但對於iphone的兩個方向都太寬了,讓我們使用size classes來修正吧。回到剛才那個第一張圖的網格選擇iphone的畫面設定,就是compact width+ regular height。網格中的紅色矩形。
你將會注意到你在網格中選中之後底部的bar改變為藍色。那是在警告你:“Hey ,你並不是在一個基礎的設定,有些改變將會值在你啟動並執行時候顯示。所以這個bar現在是藍色的!” 我所說的一些改變是因為有四項你能改變的size classes:1約束常數,2字型,3約束的開/關,4子視圖的開/關
前兩個是完全的自我——先到這裡下次更新
[IOS]譯Size Classes with Xcode 6: One Storyboard for all Sizes