1

我的问题是我想要一个标签栏视图,它的子视图控制器首先显示。在子视图控制器中,根据单击的控件,我要么想要 A)在标签栏视图中向下钻取(滑开子视图控制器)或 B)在标签栏视图上向下钻取(滑开标签栏视图控制器)。

我尝试通过在标签栏控制器的子视图控制器中包装一个导航控制器(这样我可以使用方法 A 向下钻取)然后在标签栏控制器本身周围包装另一个导航控制器来解决这个问题(这样我就可以向下钻取使用方法 B),因此标题。就这样:Window -> UINavigationController -> UITabBarController -> UINavigationController -> 子视图控制器

问题是我最终得到了两个导航栏:

两个导航栏!!http://img527.imageshack.us/img527/240/problemc.png

有没有其他人遇到过这个问题,如果有,您是如何解决的?谢谢!

4

3 回答 3

2

在这种情况下,也许您可​​以简单地使用 aUITabBar并以编程方式管理其状态,而无需将选项卡栏控制器嵌套在另一个控制器中。

于 2009-09-01T04:35:33.700 回答
1

如果您使用两个嵌套的 UINavigationControllers,我认为您无法解决拥有两个导航栏的问题。您可能能够为您不想显示其栏的控制器创建子类或方法调整 UINavigationController,并以某种方式阻止它出现或被创建。您可能还可以相应地设置导航栏的 opaque 属性或 hidden 属性,这也可能有效,但您可能需要进行一些花哨的 UIView 重新排列以防止出现空白。

这纯粹是猜测;我不知道这两种方法是否可行或它们会如何,但如果我尝试这样做,我会开始使用这些想法。

于 2009-09-01T03:39:33.157 回答
1

只需隐藏您不想要的栏,就像这样简单:

[navigationController setNavigationBarHidden:YES animated:NO];
于 2010-12-08T00:48:22.440 回答