从弹出窗口继续 ViewController Swift

Segue from popup ViewController Swift

我的应用程序有 7 个屏幕(VC),它们嵌入在导航控制器中。

我还有一个未嵌入的单独 VC。这个 VC 就像自定义弹出窗口 class PopupView: UIViewController {} 一样,通过在我的应用程序中使用自定义 segue 的每个屏幕上按下按钮来调用(在情节提要中设置为自定义 segue):

open class MIBlurPopupSegue: UIStoryboardSegue {

open override func perform() {
    MIBlurPopup.show(destination, on: source)
} }

在此弹出窗口中,有一个按钮可以打开另一个嵌入导航堆栈的 VC(VC 始终相同)。

我想要实现的是通过按下 Popup VC 中的按钮实际打开导航堆栈中的 VC,然后返回到调用 Popup 的屏幕。

因此,用户旅程将如下所示 - 打开 VC1(2,3,5,6,7) -> 调用弹出窗口 VC -> 按下按钮 -> 打开 VC4 -> 按下导航后退按钮 -> 返回到 VC1.

我现在拥有的是:

我肯定遗漏了一些东西,如果有人可以提供代码示例来解决这个问题,我将不胜感激。

您可以在弹出按钮的操作中试试这个

self.dismiss(animated:true) {
   if let nav = UIApplication.shared.keyWindow?.rootViewController as? UINavigationController {
      let vc1 = storyboard!.instantiateViewController(withIdentifier: "MenuId")
      let finalVC = storyboard!.instantiateViewController(withIdentifier: "finalId")
      nav.setViewControllers([vc1,vc4],animated:true) // set it to false if you want 
   }
}