0

我使用选项卡式应用程序模板来启动我的新 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”世界的最佳实践是什么。

4

3 回答 3

1

我宁愿让 self.window.rootViewController 成为一个导航控制器,然后,只需按下你的 tabBarController 或

NSMutableArray *viewControllers = [[NSMutableArray alloc] init];

// create someViewController
[viewControllers addObject:someView];
// create someViewController2
[viewControllers addObject:someView2];


UITabBarController *tabController = [[UITabBarController alloc] init];
[tabController setViewControllers:viewControllers];

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tabController]
self.window.rootViewController = navController;
于 2013-07-15T14:47:50.787 回答
0

如果你想在每个控制器上都有导航栏,你应该在 Look 的UINavigationController每个选项卡上都有这个问题的答案。UITabBarController

于 2013-07-15T14:44:04.450 回答
0

您需要导航栏,您必须添加 UINavigationController ,就像为选项卡栏中的每个视图控制器所做的那样。所以 self.tabBarController.viewControllers 将拥有所有导航控制器。

在没有用户干预的情况下切换选项卡并不是一个好主意。

于 2013-07-15T14:44:13.800 回答