【发布时间】:2013-07-15 14:35:28
【问题描述】:
我使用选项卡式应用程序模板来开始我的新 iPhone 项目。
我将有 4 个标签。
我想在顶部导航栏。
所以我在 AppDelegate 中添加了这个:
UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
UINavigationController *navigationcontroller = [[UINavigationController alloc] initWithRootViewController:viewController1];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navigationcontroller, viewController2, nil];
并且这仅在第一个 ViewController(第一个选项卡)的顶部添加了导航栏。
我想要的是为整个应用程序添加导航栏,而不仅仅是在一个视图中。
这将使我能够从一个视图跳转到另一个视图,然后跨选项卡返回。
那么,以编程方式为所有标签视图创建一个导航栏的最佳方法是什么?
更新
基本上我的主要问题是我应该为所有视图设置一个导航栏还是每个标签都应该有自己的导航栏?
“iDevelopers”世界的最佳实践是什么。
【问题讨论】:
-
您可能过多地融合了您的设计模式/工作流程。使用标签栏,每个标签本质上都是它自己的导航堆栈(假设每个标签都有自己的导航)。如果您希望导航位于“外部”,我认为您必须将标签栏控制器添加到导航控制器。就我个人而言,我自己并没有这样做,但我知道仅将导航控制器添加到其中一个选项卡只会为您提供该选项卡上的导航堆栈。
标签: iphone ios objective-c uitabbarcontroller uinavigationbar