Wydaje się, że metoda viewWillTransitionToSize:withTransitionCoordinator:
jest wywoływana wiele razy, gdy aplikacja przechodzi do tła lub nieaktywna od iOS 9.viewWillTransitionToSize: withTransitionCoordinator: wywoływana, gdy aplikacja przechodzi w tle lub nieaktywne
Na przykład, jeśli aplikacja jest w widoku na iPadzie naciśnięcie przycisku strony głównej spowoduje, że aplikacja otrzyma najpierw wywołanie metody o rozmiarze 1024 x 768 (krajobraz), a następnie o rozdzielczości 768 x 1024 (z powrotem do portretu). To prowadzi mnie do wniosku, że iOS robi to, aby uzyskać zrzuty ekranu dla przełącznika aplikacji.
Nasza logika aplikacji zależy od wielkości ekranu i zmian zadań wyzwalacza wielkości ekranu, które aktualizują nasz model w odniesieniu do nowego rozmiaru. Musimy to zrobić, gdy użytkownik obróci urządzenie lub przejdzie w tryb wielozadaniowości (widok podzielony), ale nie możemy tego robić, gdy użytkownik znajdzie się w tle.
Jednym z pomysłów było wykorzystanie UIApplicationWillResignActiveNotification zgłoszenie, ale to okazało się mission impossible, bo czasami viewWillTransitionToSize:withTransitionCoordinator:
zostanie wezwany przed powiadomienie jest wysyłane i othertimes to jest wywoływana po wysyłane jest powiadomienie:/
pomysłów ?
Moje bieżące obejście jest odroczenie logikę w viewWillTransitionToSize przez 0,1 sekundy i sprawdzić czy UIApplication.sharedApplication(). ApplicationState jest nadal aktywny. To brzydki hack, ale nie widzę innego wyjścia. –