我怎样才能弹回导航控制器

时间:2013-01-18 10:06:12

标签: iphone ios objective-c ipad

我有六个viewControllers。在viewController1我有一个button,它将我带到viewController6

现在来自viewController6我想分别回到viewController5viewController4viewController3viewController2viewController1

我该怎么做?

5 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

如果您想只展示1 [self.navigationController popViewControllerAnimated:YES];,或使用ViewController返回[self.navigationController popToRootViewControllerAnimated:YES];

,则可以使用ViewController

答案 2 :(得分: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

答案 3 :(得分:0)

使用

popToViewController:animated
setViewControllers:animated

答案 4 :(得分:0)

使用[self.navigationController pushViewController:] 按此顺序: 来自ViewController1,6,5,4,3,2。

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