我需要从AppDelegate提供 View Controller ,因此我编写了以下代码:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let authViewController = storyboard.instantiateViewControllerWithIdentifier("ViewController") as ViewController
if let keyWindow = UIApplication.sharedApplication().keyWindow {
    keyWindow.rootViewController = authViewController
}

不幸的是,windowkeyWindow都是nil。为什么?

最佳答案

如果不使用主界面选项,则需要使用AppDelegate自己创建窗口:

self.window = UIWindow(frame:UIScreen.mainScreen().bounds)

Swift 3.0+
self.window = UIWindow(frame: UIScreen.main.bounds)

然后使用window在上面调用您的代码。

最后,在窗口上调用makeKeyAndVisible()

10-08 07:31