我有一些从ViewWillAppear调用的代码,这些代码依赖于根视图控制器的traitCollection有效。令我惊讶的是,即使在调用viewWillAppear时,UIApplication.sharedApplication.keyWindow.rootViewController在设置并调用makeKeyWindow很久之后仍然为零。为什么会这样呢?实际发生了什么?似乎一些合理的假设不再成立。
我假设您尚未在window
方法上分配didFinishLaunchingWithOptions
属性
如果您在App Delegate分配中没有窗口属性,它将保留
您是否编写了类似的代码?
self.window = UIWindow(frame: UIScreen.main.bounds)
let mainVC = UIViewController()
self.window?.rootViewController = mainVC
self.window?.makeKeyAndVisible()