所以我不确定做某事的最佳方式是什么,或者首选方式。这基本上就是我们要做的事情:
-UITabBarController作为根
-first选项卡是FruitViewController
-FruitViewController可以推送一个AppleViewController(不确定如果push是正确的单词,但基本上转到下一个viewController)
-AppleViewController在UIToolBar中有一个后退按钮,返回到FruitViewController
-second选项卡是VegetableViewController
-VegetableFruitViewController可以推送CeleryViewController
在两个ViewControllers的末尾,您可以推送另一个名为CalorieViewController的ViewController。我的问题是,每个标签显示视图控制器的最佳方法是什么?由于我希望两个选项卡都使用CalorieViewController,为了重用它,我假设我需要保持它与其他ViewControllers不耦合。
我的同事实施的方式是,在每个选项卡上,创建该选项卡的所有ViewControllers并将其添加为子视图。根据按下的按钮,它隐藏并显示另一个视图。这似乎不是一个好主意。看起来像presentModalViewController,而dismissModalViewController(用于后退按钮)可能会起作用,但我不确定这是否是首选方法。
答案 0 :(得分:1)
我建议你为每个标签创建一个UINavigationController的根视图控制器,当前为标签设置的视图控制器作为导航控制器的根视图控制器。这样你就可以推送和弹出你想要的所有视图。 UIViewController甚至支持在将新视图控制器推入堆栈时自动将标签栏推离屏幕。