我正在尝试注销并返回登录 View Controller 。
所以我创建一个窗口,设置 rootViewController,然后 makeKeyAndVisible。 (不在 AppDelegate 中)
class AppManager: NSObject {
var window: UIWindow?
func goToLoginPage() {
window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let loginVC = storyboard.instantiateViewController(withIdentifier:
"LoginVC") as! LoginVC
window?.rootViewController = loginVC
window?.makeKeyAndVisible()
}
}
它有效,但我在想前一个窗口会发生什么。会自动关闭并释放吗?如果没有,我需要这样做吗?
还是直接使用“UIApplication.shared.delegate?.window!!”更好像下面这样而不是创建一个新窗口?
UIApplication.shared.delegate?.window!!.rootViewController = homeVC
最佳答案
您可以从AppDelegate
获取现有窗口并更改rootViewControlller
if let appDelegate = UIApplication.shared.delegate as? AppDelegate, let window = appDelegate.window {
window.rootViewController = loginVC
}
关于ios - 如果我创建一个新窗口并 makeKeyAndVisible,前一个窗口会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55912484/