2011-09-29 47 views
0

所以我不確定什麼是做某事的最佳方式或首選方式。這裏的本質是什麼,我們正在嘗試做的:查看層次結構UITabBarController,在某些選項卡中添加更多視圖

-UITabBarController爲根
- 第一標籤是FruitViewController
-FruitViewController可以推動一個AppleViewController(不知道推是正確的單詞,但基本上去下的viewController)
-AppleViewController具有在UIToolBar一個後退按鈕返回到FruitViewController

- 第二標籤是VegetableViewController

-VegetableFruitViewController可以推CeleryViewController

在兩個ViewControllers結束時,您可以推送另一個名爲CalorieViewController的ViewController。我的問題是,每個標籤呈現視圖控制器的最佳方式是什麼?因爲我希望兩個選項卡都使用CalorieViewController,爲了重用它,我假設我需要保持它與其他ViewControllers不耦合。

我的同事實現的方式是,在每個選項卡上,該選項卡的所有ViewController都被創建並添加爲子視圖。基於按下的按鈕,它隱藏並顯示另一個視圖。這似乎不是一個好主意。它看起來像presentModalViewController,並dismissModalViewController(用於後退按鈕)可能工作,但我不知道如果這是首選的方法。

+0

如果你說推你完全想要一個UINavigationController。 –

回答

1

我建議你爲每個標籤製作一個UINavigationController的根視圖控制器,當前視圖控制器的標籤設置爲導航控制器的根視圖控制器。這樣你就可以推送和彈出所有你想要的視圖。 UIViewController甚至支持在將新視圖控制器推入堆棧時自動將標籤欄從屏幕上移開。

相關問題