2014-09-12 77 views
0

我已經搜索了一個解決方案,但沒有。它的視圖不在self.presentviewController後的窗口層次結構

我的問題:

AppDelegate我打電話:

window = UIWindow(frame: UIScreen.mainScreen().bounds) 
     var vc = ViewController() 
     self.window.rootViewController = vc 
     window.makeKeyAndVisible() 

我需要調用ViewController()其中,在ViewDidLoad,如果用戶登錄我評價,那麼,如果是的,我叫視圖控制器(尚未實現),否則我在此模式下調用AccessLoginViewController()

let vc = AccessLoginViewController()
self.presentViewControlle R(VC,動畫:真,完成:無)

而且,我已經警告和AccessLoginViewController()沒有出現......

你能幫助我嗎?怎麼了?

回答

0

在調用makeKeyAndVisible之前,整個窗口可能不在視圖層次結構中,包括其包含的控制器。而不是在viewDidLoad中執行此檢查,這聽起來像是更適合於viewWillAppear:,我希望能解決您的直接問題(您可能必須考慮控制器視圖可能在其生命中出現多次的事實)。

+0

謝謝你的回答。我已經在ViewDidAppear中讓vc = AccessLoginViewController()self.presentViewController(vc,animated:true,completion:nil)。 AccessLoginViewController()被加載,因爲在控制檯中正確的println日誌標記,但在用戶界面中不會顯示任何內容。 AccessLoginViewController()是一個視圖的身份檢查器中的類,比我出現的方面... 如果我刪除AppDelegate廣告中的代碼,我設置故事板ViewController()中的初始視圖控制器,它出現在用戶界面中。 Bun當它執行調用AccessLoginViewController()時會出現黑屏 – Kobazzo 2014-09-13 07:58:49

相關問題