2014-02-19 183 views
2

我有一個導航控制器,根據我的應用程序的狀態應該有不同的根。如何有條件地設置導航控制器的根視圖控制器

如何在Interface Builder中對此進行建模?我已經將UINavigationController拖出到我的故事板。現在我需要建立到兩個視圖控制器的連接。

不幸的是我只能設置一個作爲根視圖控制器。我是否需要繼承導航控制器並根據狀態重置根視圖控制器?

這種問題的最佳做法是什麼?在Interface Builder中可視化這種關係會很好。

在此先感謝您的幫助。

+0

因爲它是您想要有條件地更改的rootViewController,所以您可以有兩個navigationControllers(每個都有不同的rootViewControllers),並根據您的條件呈現正確的一個(navigationController)。 – JoeFryer

+0

如果以編程方式實現這將會很好。以編程方式設置rootviewcontrollers。 –

+0

您有一個嵌入導航控制器的viewcontroller。基於某些條件(哪個?),您繼續使用兩個可能的控制器之一。這一行動是如何進行的?按鈕? – Moonwalkr

回答

1

有兩個segues(一個給viewcontrollerA,另一個給viewcontrollerB)。您的導航控制器將確定應用程序狀態並調用performSegue將用戶移動到正確的視圖控制器。

+1

什麼根視圖控制器不需要爲導航控制器設置一個? – kukudas

3

因爲它是您想要有條件地更改的rootViewController,您可以改爲擁有兩個不同的navigationControllers,每個navigationController都具有兩個不同viewController中的一個作爲它的rootViewController。

然後,您可以根據您的情況提供適當的navigationController。

相關問題