iOS将TabbarViewController放入NavigationController但导航栏为零

时间:2013-08-06 04:00:50

标签: ios uinavigationcontroller uinavigationbar

A是TabbarViewController的子类

A *a = [[A alloc] init];

B *b = [[B alloc] init];
C *C = [[C alloc] init];

NSArray *viewControllers = [NSArray arrayWithObjects:b,c, nil];
[a setViewControllers:viewControllers];

UINavigationController *nv =[[UINavigationController alloc] initWithRootViewController:a];
nv.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:nv animated:YES completion:nil];

在A.m中:我发现a.navigationController.navigationBar是nil 我不知道为什么?

1 个答案:

答案 0 :(得分:0)

通常,您应该为每个TabBarController的选项卡创建几个NavigationController对象。

  

创建导航界面时,需要确定打算如何使用导航界面。因为它对您的数据强加了一个总体组织,所以您应该只以这些特定的方式使用它:

     

直接将其安装为窗口的根视图控制器。

     

将其安装为标签栏界面中标签的视图控制器。

     

在拆分视图界面中将其安装为两个根视图控制器之一。 (仅限iPad)

     

从另一个视图控制器以模态方式呈现它。

     

从弹出窗口显示它。 (仅限iPad)

如果您仍然需要“在NavigationController中使用TabBarController”功能,请阅读thisthis SO问题以找到合适的解决方案。