Ios 使用导航栏上的“后退”按钮返回主视图

Ios 使用导航栏上的“后退”按钮返回主视图,ios,swift,uiviewcontroller,xcode6,uinavigationbar,Ios,Swift,Uiviewcontroller,Xcode6,Uinavigationbar,我的应用程序有一个主视图,几个按钮垂直排列。每个按钮都链接到不同的视图控制器。现在,当用户点击第一个按钮时,第一个视图控制器打开。在第一个视图控制器中,有一个按钮直接将您带到第二个视图控制器。当我到达第二个视图控制器并按下后退按钮时,我被带回第一个视图控制器。然后我必须再按一次后退按钮才能进入主视图控制器。如何使应用程序直接从第二个视图控制器而不是通过第一个视图控制器将我带到主视图控制器?提前谢谢 您可以绕过segue_unwind返回主视图控制器。只需在按钮的IBAction中调用Perfor

我的应用程序有一个主视图,几个按钮垂直排列。每个按钮都链接到不同的视图控制器。现在,当用户点击第一个按钮时,第一个视图控制器打开。在第一个视图控制器中,有一个按钮直接将您带到第二个视图控制器。当我到达第二个视图控制器并按下后退按钮时,我被带回第一个视图控制器。然后我必须再按一次后退按钮才能进入主视图控制器。如何使应用程序直接从第二个视图控制器而不是通过第一个视图控制器将我带到主视图控制器?提前谢谢

您可以绕过segue_unwind返回主视图控制器。只需在按钮的IBAction中调用PerformsgueWithIdentifier

敏捷的 目标C 这里还有一篇类似的文章
关于这一点,在SO中有很多答案,但是:

[self.navigationController popToRootViewControllerAnimated:YES];

应该很好用

下一次,首先尝试找到答案:

您可以覆盖后退按钮操作,使用要返回的视图控制器调用navigationController上的popToViewController。

SWIFT 3.01

 self.performSegue(withIdentifier: "SegueIdentifierName", sender: self)

可能的重复我理解链接中问题的答案所说的一切,除了一件事。一个步骤是将按钮链接到出口。但是,我没有扣子。它是导航栏上的“后退”按钮。那我该怎么办?我该如何覆盖UINavigationBar后退按钮操作?我该如何将其链接到UINavigationBar后退按钮?@KrishWadhwana你不能这样做。相反,当您按下第二个.NSMutableArray*vc=[[self.navigationController viewControllers]mutableCopy]时,从堆栈中移除第一个视图控制器;[vc removeObjectAtIndex:1];[self.navigationController setViewControllers:vc];
[self.navigationController popToRootViewControllerAnimated:YES];
UIViewController *rootViewController = [self.navigationController.viewControllers firstObject];
[self.navigationController pushViewController:rootViewController animated:YES];
 self.performSegue(withIdentifier: "SegueIdentifierName", sender: self)