我有一個應用程序的登錄視圖。在appDelegate中,我檢查用戶是否用密碼鎖定了應用程序。如果他確實去了登錄視圖。 (稱爲在didFinishLaunchingWithOptions碼)swift - 進入前臺後的視圖
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let nav = storyboard.instantiateViewControllerWithIdentifier(Views.LoginVC.rawValue)
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.rootViewController = nav
self.window?.makeKeyAndVisible()
在我登錄之後,存在於不同的導航控制器的實際內容。
let vc = self.storyboard?.instantiateViewControllerWithIdentifier(Views.MainVC.rawValue)
let rootVC = UINavigationController(rootViewController: vc!)
self.presentViewController(rootVC, animated: false, completion: nil)
當關閉應用程序並再次輸入時,appDelegate會再次檢查用戶是否使用密碼。如果是,則再次調用第一個代碼(我檢查了代碼被調用)(代碼從applicationWillEnterForeground調用)。但是不要去登錄視圖,而是停留在主內容視圖。如果他再次離開,則會在控制檯中彈出錯誤消息。
2016-04-25 20:50:52.714 Point[7222:123809] Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.
我需要更改什麼,所以應用程序在返回時再次顯示登錄視圖?我如何避免這個錯誤信息?
UPDATE
我只是通過調用applicationDidBecomeActive而不是didFinishLaunchingWithOptions代碼解決我的問題。我不知道這是爲什麼,但它的工作原理!
謝謝你的解釋,你的解決方案作品一樣好。 –