【发布时间】:2010-09-22 00:14:05
【问题描述】:
我有一个应用程序,每个应用程序有 5 个UIViewControllers,每个UINavigationController 都包含在一个UITabBarController 中,在屏幕底部显示 5 个选项卡。
我想在按下对话框按钮时显示另一个UIViewController(在UINavigationController 内)。
这个视图只能以编程方式加载和卸载;即它不应该出现在标签栏中。但是,我希望标签栏始终可见。
如果我将[UINavigationController view] 添加到[self window],则覆盖UITabBar。如果我将它添加到任何其他层,UINavigationController 会增加它对状态栏的补偿,因此看起来比预期的要低。
解决方案是将第 6 个 UINavigationController 与其他 UITabBar 添加到 UITabBar,但隐藏其 tabBarItem。然后我可以使用tabBars selectedIndex 属性显示和隐藏它。
通过UIViewController 访问tabBarItem 没有明显的方法。
@wisequark,我认为你完全误解了,你几乎重写了我的应用程序的架构。但是我为每个视图都有一个单独的导航控制器,因为它们是互斥的,并且没有“向下钻取”的概念。
@Kendall,这就是我希望我必须做的 - 让模态视图出现一个隐藏按钮以恢复正常界面。但是保持标签栏始终可见会很好,所以我只是想知道是否有人知道一种方法。
【问题讨论】:
标签: ios cocoa-touch cocoa