ViewController
アプリがフォアグラウンドになるたびにポップアップが表示され、アクセスパスワードが必要な特定のものを実装します。
アプリはすでに成熟しており、少し複雑なので、このパスワード画面を別の VC の上に表示される別の ViewController として処理し、applicationDidBecomeActive などのメソッドによって AppDelegate から呼び出されます。
if (self.pwdVc==nil)
self.pwdVc = [mainStoryboard instantiateViewControllerWithIdentifier:@"passwordScreen"];
[self.window.rootViewController presentViewController:self.pwdVc animated:NO completion:nil];
このアプローチの問題は次のように思われます: アプリがフォアグラウンドになったとき、パスワード ViewController はまだ画面に描画されておらず、短い間、実際のアプリ画面がクリアに表示されます。
でパスワード ViewController の提示applicationDidEnterBackground
を事前にトリガーしても、アプリがフォアグラウンドに戻ったときに実際の画面の再描画が常に行われるため、アプリの画面が不必要に表示されます。
このパスワード画面で基になるViewControllerを遅滞なく非表示にする最も適切な方法を誰かが提案してもらえますか?
アルファ設定が 0.0 から 1.0 に切り替わるメソッドも、表示に時間がかかるようで、今までは機能しませんでした。
ありがとうございました!