に入るときに呼び出さアプリがあればアプリは、例えばiOSの9viewWillTransitionToSize:withTransitionCoordinator:アプリがバックグラウンドまたは非アクティブ
以来の背景または非アクティブになったときにメソッドが複数回呼び出されるviewWillTransitionToSize:withTransitionCoordinator:
ことが表示されますiPadのポートレートでホームボタンを押すと、最初にサイズ1024x768(ランドスケープ)、次に768x1024(バックツーポートレート)のメソッド呼び出しを受け取るようになります。それはiOSがアプリのスイッチャーのスクリーンショットを取得するためにこれを行うと結論づけます。
私たちのアプリケーションロジックは画面サイズに依存し、画面サイズの変更は新しいサイズに関してモデルを更新するタスクをトリガします。ユーザーがデバイスを回転させたり、マルチタスキングモード(スプリットビュー)に入るときにこれを行う必要がありますが、ユーザーがバックグラウンドに入るときには行わないでください。
ひとつのアイデアは、UIApplicationWillResignActiveNotification通知を使用していたが、それは、通知が送信される前に、時にはviewWillTransitionToSize:withTransitionCoordinator:
が呼び出されるので不可能使命であることが判明したとの通知が送信された後、それが呼び出されるothertimes:/
任意のアイデアを?
私の現在の回避策は、0.1秒viewWillTransitionToSizeのロジックを延期し、UIApplication.sharedApplication()。applicationStateがまだアクティブであるかどうかを確認することです。それは醜いハックですが、私はそれの周りに他の方法を参照してください。 –