如何移动到导航控制器的首页?
我知道如果我想转移到rootpage,我可以使用
[self.navigationController popToRootViewControllerAnimated:YES];
但我想在2页面前移动。不是根页面和页面之前。
我该怎么做?
答案 0 :(得分:2)
如果您知道导航栏视图控制器堆栈上的viewController,则可以使用:
[self.navigationController popToViewController:viewControllerToShow animated:YES];
<强> popToViewController:动画:强>
入时 查看控制器直到指定 视图控制器位于顶部 导航堆栈。
答案 1 :(得分:1)
如果你持有对上述ViewController *的引用,你可以使用;
[self.navigationController popToViewController:(UIViewController *) animated:(BOOL)];
这样它会一直返回到达给定的ViewController。
其他变通办法可以是root,然后导航到主页面(如果它是1级,当然)没有动画。或者你可以逐个弹出ViewControllers,直到你在那里......这完全取决于你的结构。
请注意,如果您持有对上述ViewController的引用,则需要正确保留/释放它。
我希望它有所帮助
答案 2 :(得分:1)
是的,你可以使用
<强> popToViewController:动画:强>
弹出视图控制器,直到指定的视图控制器位于 导航堆栈的顶部。
除上述答案外,如果你不能拥有视图控制器的实例,你可以通过堆栈中视图控制器的索引来实现。
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:2] animated:YES];