Dismiss more than one view controller simultaneously

后端 未结 9 849
一向
一向 2020-12-04 17:50

I\'m making a game using SpriteKit. I have 3 viewControllers: selecting level vc, game vc, and win vc. After the game is over, I want to show the win vc, then if I press OK

9条回答
  •  失恋的感觉
    2020-12-04 18:34

    Although Rafeels answer is acceptable. Not everybody uses Segue's.

    For me the following solution works best

    if let viewControllers = self.navigationController?.viewControllers {
       let viewControllerArray = viewControllers.filter { 
           $0 is CustomAViewController || $0 is CustomBViewController  }
    
        DispatchQueue.main.async {
          self.navigationController?.setViewControllers(viewControllerArray,
                                                        animated: true)
        }
    }
    

提交回复
热议问题