如何弹出导航控制器iOS

时间:2014-05-24 05:25:14

标签: ios uinavigationcontroller

我有3个导航控制器。每个都有许多视图控制器。

  • 1 NavigationController (modal Segue) - > 2 NavigationController (model Segue) - > 3 NavigationController

现在,您如何从#3 NavigationController返回到我以前的#1 NavigationController?所以我想要

  • 1 NavigationController (modal Segue) - > 2 NavigationController (model Segue) - > 3 NavigationController(如何???) - > 1 NavigationController

(为了澄清,我不想去一个新的 1 NavigationController。我想去找之前用过的那个。)

帮助!

6 个答案:

答案 0 :(得分:22)

[[self navigationController] popViewControllerAnimated:YES];

答案 1 :(得分:8)

如果你只是想解雇整个 3 NavigationController,你可以在 3

中的任何视图控制器中调用它

目标C

[self.navigationController dismissViewControllerAnimated:YES completion:nil]

Swift 3,4

self.navigationController?.dismiss(animated: true)

这会让您回到(model Segue)-> 3 NavigationController之前的状态。

也许你可以在 2 之前用 3 调用它之前以某种方式调用它?

答案 2 :(得分:1)

使用:

[self.**presentingViewController** dismissViewControllerAnimated:YES completion:nil];

而不是:

[self dismissViewControllerAnimated:YES completion:nil];

答案 3 :(得分:1)

navigationController1堆栈的视图控制器中,创建一个展开@IBAction方法:

<强>夫特

@IBAction func unwindToMyViewController(_ segue: UIStoryboardSegue)

<强>目标C

- (IBAction)unwindToMyViewController:(UIStoryboardSegue *)segue

在您的故事板中,您可以通过从按钮拖动到退出图标来挂接navigationController3堆栈中视图控制器中按钮的展开segue ...

enter image description here

从那里

,选择上面创建的展开segue。触发时,segue将所有视图控制器展开回包含展开segue的视图控制器。

答案 4 :(得分:0)

此代码将弹出一个导航控制器,其中包含所有视图控制器

// pop root view controller
UIViewController *rootViewController = [self.navigationController viewControllers][0];
[rootViewController dismissViewControllerAnimated:YES completion:nil];

所以你可以这样做:

// pop navigationController3 without animation
UIViewController *rootViewController3 = [navigationController3 viewControllers][0];
[rootViewController3 dismissViewControllerAnimated:NO completion:nil];

// pop navigationController2 with animation
UIViewController *rootViewController2 = [navigationController2 viewControllers][0];
[rootViewController2 dismissViewControllerAnimated:YES completion:nil];

答案 5 :(得分:0)

借助此功能,您可以获得 1导航控件:-

<b> Général menu </ b>