所以我有一个主视图控制器,该视图控制器将出现在彼此的前面,并且我希望当用户单击最后一个视图控制器中的按钮时,关闭所有显示的模态视图控制器,因此我使用了这段代码,但是我没有无法获得结果
let destination = matchViewController()
let appDelegate:UIApplicationDelegate = UIApplication.shared.delegate!
let initialViewController = destination
let navigationController = UINavigationController(rootViewController: initialViewController)
appDelegate.window??.rootViewController = navigationController
appDelegate.window??.makeKeyAndVisible()
我想使用unsegue segue退出但也有另一个问题 最后一个视图控制器将在许多不同的情况下出现很多次,因此我只是解散了所有出现的模态视图控制器。 我宁愿不使用navigationController,但是如果我必须使用它,请告诉我应该在哪里使用?
答案 0 :(得分:0)
两个选项:
关闭根视图控制器上的所有视图控制器
self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
关闭所有viewController,直到它具有presentingController
func dismissAllControllers() {
guard let vc = self.presentingViewController else { return }
while (vc.presentingViewController != nil) {
vc.dismiss(animated: true, completion: nil)
}
}