iPhone:我如何移动到导航控制器的首页?

时间:2011-04-25 09:33:26

标签: iphone uinavigationcontroller

如何移动到导航控制器的首页?

我知道如果我想转移到rootpage,我可以使用

[self.navigationController popToRootViewControllerAnimated:YES]; 

但我想在2页面前移动。不是根页面和页面之前。

我该怎么做?

3 个答案:

答案 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];