【发布时间】:2013-02-06 12:36:51
【问题描述】:
我正在努力实现以下目标:
假设我们在一个导航控制器中,我们推送了一个 ViewController。用户点击标签栏的其他项目。在我们移动到另一个视图控制器之前,我想弹出(动画)推送的视图控制器,但我希望新的视图控制器作为根,所以它会在推送的视图控制器消失时出现。
这很难解释,我只是希望新的视图控制器出现在推送的视图控制器由于 popToRootViewController 的动画而消失时,而不是旧的视图控制器出现然后移动到新的视图控制器。
想象一下,我们在标签栏的选项 b 中,对应于视图控制器 B,并推送了一个 C 视图控制器。
一个
B -> C
用户按a,
我希望发生这种情况
A -> C
B -> C
然后选择A viewController,然后弹出两个C,在A情况下动画,在B情况下不动画。
这是我的代码:
[(UINavigationController *)self.tabBar.selectedViewController popToRootViewControllerAnimated:NO];
UIViewController * viewControllerToPush = self.tabBar.selectedViewController;
self.tabBar.selectedIndex = indexPath.row;
[(UINavigationController *)self.tabBar.selectedViewController pushViewController:viewControllerToPush animated:NO];
[(UINavigationController *)self.tabBar.selectedViewController popToRootViewControllerAnimated:YES];
但它不起作用,我得到“不支持推送导航控制器”
是否可以将视图控制器从一个导航控制器移动到另一个?有任何想法吗?
【问题讨论】:
标签: ios cocoa-touch uinavigationcontroller uitabbarcontroller