我有下一个功能
func switchRootViewController(rootViewController: UIViewController) {
let window = UIApplication.shared.windows.first!
window.rootViewController = rootViewController
window.makeKeyAndVisible()
}
我在呈现的视图控制器中使用它,例如在 PresentedViewController 中。
let navigationViewController = UINavigationController(rootViewController: PresentedViewController())
present(navigationViewController, animated: true, completion: nil)
但是当我切换到所需的视图控制器时,我呈现的视图控制器不会取消初始化。我必须使用这种方式,首先解雇:
self.dismiss(animated: true, completion: {
switchRootViewController(rootViewController: HomeViewController.instantiate())
})
而不是简单
switchRootViewController(rootViewController: HomeViewController.instantiate())