2014-11-23 60 views
6

無我需要從AppDelegate現在視圖控制器,所以我寫了下面的代碼:爲什麼窗口是在AppDelegate中

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。爲什麼?

+1

何時執行此代碼? – jrturton 2014-11-23 20:23:49

+0

@jrturton這是代碼在'func應用程序中執行(應用程序:UIApplication,didFinishLaunchingWithOptions launchOptions:[NSObject:AnyObject]?) - > Bool'函數 – FrozenHeart 2014-11-23 20:25:59

+0

好吧,在這個函數中,手動創建了一個,或者您已將故事板或xib設置爲啓動界面。你做到了嗎? – jrturton 2014-11-23 20:27:29

回答

24

您需要在不使用主界面選擇自己創建的窗口:

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

雨燕3.0

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

然後調用上面的代碼,使用window

最後,在窗口上撥打makeKeyAndVisible()

+2

我不想自動加載初始視圖控制器,因爲我需要手動提供授權視圖控制器或主視圖控制器 – FrozenHeart 2014-11-23 20:41:45

+0

那麼你的問題並不清楚!更新即將到來... – jrturton 2014-11-23 20:48:23

+0

你是對的,對不起 – FrozenHeart 2014-11-23 20:52:13

相關問題