2014-09-12 50 views
0

在谷歌地圖應用程序的ios。當你選擇設置按鈕,它會告訴你一個選項,如「交通」,「公共交通」等視圖。部分segue顯示設置視圖

我的問題是如何做到這一點在ios上。

我試過以下this教程,但它說它不能在uinavigationviewcrollers上工作。我已經看到了使用導航控制器的應用程序中的部分視圖。他們如何創造這一點?

enter image description here

回答

2

這不是一個部分segue。它根本不是一個繼續,它使用包容視圖控制器。

而不是一個視圖控制器轉換到一個不同的視圖控制器圖像一個單一的主視圖控制器。爲了簡單起見,我們會說這個視圖控制器有兩個視圖(根目錄),它們都覆蓋整個屏幕。對於這個例子,我們將它們視爲「主」視圖和「菜單」視圖。

除了這兩個空視圖之外,視圖控制器沒有內容。這是因爲這個視圖控制器除了管理其他視圖控制器,並沒有做任何其他事情,這些控制器陷入了兩個視圖。它會有幾個方法來管理它們,如presentInMainView:(UIViewController *)viewcontrollerpresentInMenuView:(UIViewController *)viewcontroller

當程序開始運行時,主視圖控制器將以編程方式將地圖添加到它的「主」視圖。地圖視圖控制器現在覆蓋整個屏幕,並且看起來像是頂層視圖控制器,但事實並非如此。它包含在內。在某些時候點擊設置按鈕,地圖視圖控制器將調用它的父級並且說presentInMenuView:...,然後主視圖控制器將加載第二個視圖控制器到菜單視圖中。菜單視圖甚至可以位於屏幕左側,並且主視圖控制器將菜單視圖框向右移動以覆蓋整個屏幕。假設菜單視圖控制器僅包含覆蓋屏幕左半部分的內容,您將看到隱藏在其後面的地圖視圖控制器。

這真的只是表面劃痕,很多可以用容器視圖控制器完成。你可以創建一個容器,它可以讓你打開十幾個不同的視圖,所有的視圖都被視爲不同的視圖控制器。您可以在整個屏幕上調整和排列它們,每個子視圖控制器仍然只需要處理它自己的內容。

有關的詳細信息有the Apple Developer Guide和它被引入的WWDC 2011 Videos(會話102)

0

我用SWRevealViewController對於相似類型給出瞭如何使用SWRevealViewController也請一次嘗試的好例子側邊欄animation.They的。