我的问题是,我想要一个标签栏视图,它的子视图控制器首先显示。在子视图控制器中,根据所单击的控件,我希望A)在选项卡栏视图中向下钻取(刷除子视图控制器),或者B)在选项卡栏视图上向下钻取(向下滑动选项卡栏视图控制器)。
我尝试通过在标签栏控制器的子视图控制器中包装一个导航控制器(这样我可以使用方法A向下钻取),然后在选项卡栏控制器本身周围包装另一个导航控制器(这样我可以使用方法B向下钻取)来解决这个问题,这就是标题的由来。所以它是这样的: Window -> UINavigationController -> UITabBarController -> UINavigationController ->子视图控制器
问题是我最终得到了两个导航栏:
two navigation bars!! http://img527.imageshack.us/img527/240/problemc.png
其他人有过这个问题吗?如果有,你是如何解决这个问题的?谢谢!
发布于 2009-09-01 04:35:34
在这种情况下,也许您可以简单地使用UITabBar并以编程方式管理其状态,而无需将选项卡栏控制器嵌套在另一个控制器中。
发布于 2009-09-01 03:39:33
如果你使用的是两个嵌套的UINavigationControllers,我认为你不能使用两个导航栏。您可以为您不想显示其栏的控制器创建UINavigationController的子类或方法,并以某种方式阻止它出现或创建。您可能还可以相应地设置导航栏的不透明属性或隐藏属性,但您可能需要进行一些花哨的UIView重新排列,以防止出现空白。
这纯粹是一种猜测;我不知道这两种方法是否有效,也不知道它们是如何工作的,但如果我尝试这样做,我会从这些想法开始。
发布于 2010-12-08 08:48:22
只需隐藏你不想要的栏,就像这样:
[navigationController setNavigationBarHidden:YES animated:NO];https://stackoverflow.com/questions/1360379
复制相似问题