Ios 关闭多个控制器

Ios 关闭多个控制器,ios,swift,uiviewcontroller,dismiss,Ios,Swift,Uiviewcontroller,Dismiss,我怎样才能回到几个控制器? 这幅画就是一个例子 假设两个ViewController位于同一个导航堆栈中,您可以使用navigationcontroller的功能popToViewController(uuxAE:动画:) 在您的特定情况下,您还可以使用popToRootViewController(动画:),因为根据您的屏幕截图,您希望弹出回navigationcontroller的初始viewcontroller 如果要返回根视图控制器,可以使用: self.navigationCont

我怎样才能回到几个控制器? 这幅画就是一个例子


假设两个ViewController位于同一个导航堆栈中,您可以使用navigationcontroller的功能
popToViewController(uuxAE:动画:)

在您的特定情况下,您还可以使用
popToRootViewController(动画:)
,因为根据您的屏幕截图,您希望弹出回navigationcontroller的初始viewcontroller


如果要返回根视图控制器,可以使用:

self.navigationController?.popToRootViewController(animated: true)
另一种方法是,如果您不想回到根视图控制器

在当前视图控制器中:

guard let navigationController = self.navigationController else {return}
        for controller in navigationController.viewControllers {
            if let neededVC = controller as? SomeViewController {
                navigationController.popToViewController(neededVC, animated: true)
            }
        }

如果使用segue,则使用“”

为此,请在“视图控制器”中编写给定代码

@IBAction func unwindToThisViewController(segue: UIStoryboardSegue) {



}
在B_viewcontroller中,按下按钮调用“Unwind segue”。带有
self.performsgue(带有标识符:“YourSegueForA\u VeiwController”,发件人:无)

在“展开”序列的帮助下,您还可以发送数据

guard let navigationController = self.navigationController else {return}
        for controller in navigationController.viewControllers {
            if let neededVC = controller as? SomeViewController {
                navigationController.popToViewController(neededVC, animated: true)
            }
        }
@IBAction func unwindToThisViewController(segue: UIStoryboardSegue) {



}