2

我有六个viewControllers。在viewController1我有一个button带我到viewController6.

现在从我想分别viewController6弹回到viewController5viewController4viewController3和。viewController2viewController1

我怎样才能做到这一点?

4

5 回答 5

3

尝试这个,

NSMutableArray *allViewControllers = [NSMutableArray arrayWithArray: self.navigationController.viewControllers];

按顺序插入所需的视图控制器

[allViewControllers insertObject:viewControllerX atIndex:requiredIndex];

如果您只想替换以前使用的 viewController,

 [allViewControllers replaceObjectAtIndex:indexRequired withObject:viewControlerX];

然后设置回导航栈,

self.navigationController.viewControllers = allViewControllers;

然后您可以使用以下内容弹回任何 viewController :

[self.navigationController popViewControllerAnimated:YES];
于 2013-01-18T10:26:02.150 回答
0

[self.navigationController popViewControllerAnimated:YES];如果您只想弹出 1 ,则可以使用ViewController,或者使用[self.navigationController popToRootViewControllerAnimated:YES];回到拳头ViewController

于 2013-01-18T10:10:40.213 回答
0

使用任一

popToViewController:动画
或者
setViewControllers:动画

于 2013-01-18T10:46:14.143 回答
0

按以下顺序使用 [self.navigationController pushViewController:]:从 ViewController1、6、5、4、3、2 开始。

并使用 [self.navigationController popToRootViewControllerAnimated:] 从 ViewController2 转到 1。

于 2013-01-18T11:04:21.030 回答
0

是的,这是可能的。

如果你想1 ViewController从控制器堆栈中弹出

[self.navigationController popViewControllerAnimated:YES];

回到fist ViewController.

[self.navigationController popToRootViewControllerAnimated:YES]; 

欲了解更多信息,请使用此链接

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

于 2013-01-18T10:13:29.517 回答