iOS8 UISplitViewController 學習

由于屏幕尺寸的原因,iPad(包括iPhone 6 plus)版的app很少像普通 iPhone app一樣讓 table view 占據整個屏幕。通常我們用UISplitViewContoller來更好地利用設備屏幕。

split view 允許你把屏幕分割為左右兩部分,并可在左右各添加一個view controller。split view較為典型的使用方式就是:左邊顯示導航視圖,在右邊顯示相應的詳細信息。從iOS8開始,Apple把全新的split view controller 引入到iPad和iPhone,你可以使用這一功能實現讓人眼前一亮的設計。

在這個教程里,你將從頭開始開發一款通用版 app,這個 app 主要是用來顯示游戲 Math Ninja(這是一款由Razeware 開發的游戲) 中的怪物列表。你將會使用 split view controller 來處理導航和具體內容顯示,當然這款app是同時適用于iPhone和iPad的。

本教程主要介紹 split view controller,在開始之前,我們假設你已經對 auto layout 和 storyboards 有了一定的了解。

一、開始

(1)打開Xcode ,創建新的項目并選擇ios\Application\Single View Application 模版。

將項目命名為MathMonsters,語言選擇Swift,在設備下拉列表里選擇Universal。取消勾選Use Core Data,然后點擊Next完成項目的創建。

盡管你可以使用 Master-detail Application 模版來創建應用,但是我不建議你這么去做。通過 Single View Application 模版從頭開始創建應用,可以讓你更好地理解 UISpiltViewController 的運行原理,這對你以后使用 UISpiltViewController 實現一些功能是非常有幫助的。雖然使用Master-detail Application 模版確實可以節省不少時間。

(2)打開 Main.Storyboard , 刪除掉模版自動生成的初始化 view controller,然后拖拽一個Split View Controller 到 Main.Storyboard 中(因為你刪除了缺省的view controller,所以在拖拽之前,Main.Storyboard ?應該是空的)。

完成以上操作后,以下一些元件便添加到你的 storyboard 中:

1. Split View Controller。整個應用的根視圖,split view 會包含應用程序的剩余部分。

2. Navigation Controller。這表示這個UINavigationController 將會是左側視圖控制器的根視圖(即,iPad 或 iPhone 6 Plus 橫屏時左側視圖的根視圖),在Spilt View Controller Scene里,你能很快地找到 Navigation Controller 和 Spilt View Controller之間的關系橋(segue),這個關系橋可以讓你在絲毫不影響 Detail View Controller 的前提下 在 主視圖控制器里創建一個完整的導航層級關系。

3. View Controller。這是顯示怪物詳細描述的地方,在Spilt View Controller Scene里,你也能很快地找到 View Controller 和 Spilt View Controller之間的關系橋(segue)。

4. Table View Controller。這是 UINavigationController 的根視圖,主要用來顯示怪物名稱列表。

因為你刪除了模版默認生成的視圖控制器,所以你需要告訴 storyboard 你要把自己剛才拖拽進來的 split view 作為初始化視圖控制器。選中 Split View Controller ------>打開右側屬性控制控制欄------> 勾選 Is Initial Controller選項。

你會在 Split View Controller 的左側看到一個箭頭指向它,這表示箭頭所指的視圖控制器是這個storyboard的初始化視圖控制器。在iOS Simulator 中選擇iPad,然后編譯運行你的程序(當然你也可以選擇 iPhone 6 plus ,然后旋轉屏幕到橫屏),你會看到一個空的分割視圖控制器。

現在我們在其它iPhone simulator 上運行程序(不要選擇iPhone 6 plus,因為它的屏幕太大了,大到都穿不過馬桶窟窿),你會看到,程序啟動后會全屏顯示視圖頁,你可以通過點擊屏幕頂端左側的后退按鈕回到主視圖控制器。

從 iOS 8 開始,一個簡單的 Split View Controller 就使得 app 看起來像一個具有推拉效果的app。更讓你wow的是,你只需要做一些簡單的配置就可以使用,萬歲的iOS!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,232評論 4 61
  • /* UIViewController is a generic controller base class th...
    DanDanC閱讀 1,858評論 0 2
  • 這是板繪的一個D.VA 希望大家喜歡
    柚子samai閱讀 277評論 0 2
  • 你如花的笑靨在天際若隱若現 馬頭琴在月光下嗚咽 草原深處吹來遠方的風 野花的幽香是你留下的芬芳 明月如水 映照我千...
    駱駝dylan閱讀 121評論 0 0
  • K正在酒吧里喝著啤酒,也只喝了兩杯而已。 腦袋還很清醒,音響里一曲一曲輪換著播放的歌還聽得清清楚楚,只是總聽不清唱...
    羽k閱讀 248評論 0 0