我將執行一個特定的ViewController
,其中每次我的應用程序進入前臺時彈出一次, - 需要一個訪問密碼。當應用程序回到前臺時控制應用程序快照
由於應用已經成熟,有點複雜,我寧願處理這個密碼,屏幕上其他風投的頂部顯示一個獨立的視圖控制器,通過以下方法從AppDelegate中調用,如applicationDidBecomeActive:
if (self.pwdVc==nil)
self.pwdVc = [mainStoryboard instantiateViewControllerWithIdentifier:@"passwordScreen"];
[self.window.rootViewController presentViewController:self.pwdVc animated:NO completion:nil];
這種方法的問題似乎是:當應用程序進入前臺時,密碼ViewController尚未在屏幕上繪製,並且在短時間內實際應用程序屏幕顯示爲清晰。
即使我提前在applicationDidEnterBackground
中觸發顯示密碼ViewController,但實際的屏幕重繪總是會在應用程序返回到前景時發生,從而不必要地顯示應用程序屏幕。
任何人都可以請建議最合適的方法讓這個密碼屏幕隱藏底層的ViewControllers沒有任何延遲?
將alpha設置從0.0切換到1.0的方法似乎也需要一些時間來顯示,並且到目前爲止還沒有工作。
謝謝!
謝謝@ l0gg3r! 我嘗試了你的建議,但不幸的是,密碼視圖控制器仍然需要一段時間纔出現在頂部,只要應用程序回到前臺。 可能是我錯過了一些相關的東西? – frank 2014-09-23 07:42:11
嘗試將該調用放入applicationDidBecomeActive中,並傳遞動畫屬性NO。我認爲這應該解決這個問題。 – l0gg3r 2014-09-23 07:45:47
對不起,沒有運氣! – frank 2014-09-23 08:01:34