2011-04-25 44 views
2

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

我知道,如果我想要移动到rootpage,我可以用

[self.navigationController popToRootViewControllerAnimated:YES]; 

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

我该怎么办?

回答

1

是的,你可以使用

popToViewController:动画:

流行视图控制器,直到指定的视图控制器是在 顶部的导航堆栈。

除了上述的答案,如果你不能有视图控制器的一个实例,你可以通过在堆栈视图控制器的索引,这样做。

NSArray *array = [self.navigationController viewControllers]; 

[self.navigationController popToViewController:[array objectAtIndex:2] animated:YES]; 
+0

谢谢,我解决了,因为你这个问题! – alan 2011-04-26 01:22:20

+0

@Alan然后请接受答案,如果它帮助你 – visakh7 2011-04-26 04:19:49

2

如果你知道在导航栏的视图控制器堆栈上的viewController那么你可以使用:

[self.navigationController popToViewController:viewControllerToShow animated:YES]; 

popToViewController:动画:

流行 视图控制器,直到指定 视图控制器位于 导航堆栈的顶部。

+0

非常感谢尼克〜 – alan 2011-04-26 01:18:37

1

如果您持有对所提及的ViewController *的引用,您可以使用;

[self.navigationController popToViewController:(UIViewController *) animated:(BOOL)]; 

这种方式回到它到达给定的ViewController。

其他解决方法可以是,去根,然后导航到主页(当然,如果它是级别1),不用动画。或者你可以逐个弹出ViewControllers,直到你在那里...这一切都取决于你的结构。

要小心,如果您持有对所提到的ViewController的引用,您需要保留/正确释放它。

我希望它能帮助

+0

非常感谢锂〜 – alan 2011-04-26 01:21:35