假设我的UITabBar
中有4个项目:A B C D。
通过委托方法,D从viewController
UITabBar's
推送新的navigationController
,(删除该视图的tabBar)。
这样可以正常使用,但是当从新视图返回时,如何让UITabBar
不显示D的空白视图?
我尝试在推送时将selectedIndex
设置为上一个索引,但这只是挂起应用程序(似乎适用于模态,而不是在推送时。)
答案 0 :(得分:2)
如果我正确解释了这一点,当您在选择选项卡时按下视图时,您将同时更改所选的选项卡。这可能是尝试更改您当前正在推送视图的视图层次结构(这是选择您尝试将其设置为的其他选项卡的结果)。所以它可能会崩溃,因为它正在替换正在显示的视图。
另外,从它的声音来看,你在UITabBarController
内使用了UINavigationController
。 Apple说你不应该在另一个视图控制器中放置UITabBarController
。以下内容摘自Apple UITabBarController
上的文档:
部署标签栏界面时,必须将此视图安装为窗口的根目录。与其他视图控制器不同,标签栏界面不应该作为另一个视图控制器的子项安装。
如果是这种情况,您应该重新设计您的应用,这样您就不会在任何其他视图控制器中包含标签栏控制器,或者您的应用可能表现得很奇怪或在某个时候停止工作。
如果你想让事情按照你想要的方式运行,你可以直接使用UITabBar,并实现你自己的UITabBarDelegate。