2015-08-21 158 views
0

在應用程序的某個區域,我想顯示3個可能的View Controller s之一。iOS/Swift:一個容器視圖可容納3個可能的視圖控制器

我假設我能做到這一點通過添加Container View這樣的區域(如下圖所示)

enter image description here

的問題是:

1)如何聯結的3個孩子View Controller s到這個故事板中的Container View?我是否需要將Container View連接到父母View Controller,然後將其連接到3個孩子?

2)哪個是Swift代碼來顯示3個View Controller之一,並隱藏其他2個?

+1

https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html –

+0

感謝您的鏈接。但是,如何將容器視圖連接到故事板中的視圖控制器?我是否需要使用此方法http://sandmoose.com/post/35714028270/storyboards-with-custom-container-view-controllers以及將ContainerView鏈接到子視圖控制器的ContainerViewController? –

回答

2

我假設當用戶第一次進入屏幕時,三個視圖控制器中的一個將在那裏,並且用戶具有切換到不同視圖控制器的按鈕。

將第一個VC直接附加到故事板中的容器。另外兩個可以連接到按鈕,使它們來到前臺,或直接連接到主VC。

您還需要制定一個自定義的segue類(或兩個?),它知道如何處理從一個VC到另一個VC的轉換。

---編輯---

這裏是一個選項作爲github repo。請注意,如果你想在視圖控制器之間轉換,你還有更多的工作要做,但這應該讓你開始。

+0

在我的情況下,實際上沒有默認的VC。 3個VC中哪一個必須連接到容器取決於一組規則。我寧願將這種邏輯包含在3個VC之外。 在這種情況下,你建議使用哪種體系結構?我應該創建一個父VC嗎?我如何將父母連接到孩子? –

+0

在這種情況下,您可以將三個VC直接連接到父VC(具有容器視圖的VC),併爲它們分別命名一個segue。您可以編程方式執行適當的segue。或者,你根本不會打擾塞格斯。爲三個VC中的每一個提供一個標識符並以編程方式從故事板對象實例化它們。 –

+0

在這種情況下,如何將Container視圖連接到3個VC? –

相關問題