當您在iPad上使用4指任務切換手勢切換時,我的應用程序在返回時崩潰。在ios中切換任務時發生虛假旋轉事件11
當用戶執行了4指手勢,從我的應用程序中切換出來,我在我的應用程序委託看到applicationWillResignActive:
然後applicationDidEnterBackground:
,然後(假設我們目前正處在縱向)我頂層視圖控制器獲取viewWillTransitionToSize:withTransitionCoordinator:
與表示橫向佈局的大小(即使設備未旋轉)。這當然會導致很多調整和重新安排新方向的觀點。緊接着,我得到viewWillTransitionToSize:withTransitionCoordinator:
,其大小指示肖像(設備的原始方向)。再次,我再次爲新的(實際上是原創的)方向進行我的佈局。
我在找的是如果我等待所有這些完成,我可以全天進入和退出我的應用程序。另一方面,如果在這個不必要的工作正在進行時切換回我的應用程序,我會在某些iOS轉換代碼中發生崩潰。
在這一點上,我試圖理解爲什麼我會得到這些流浪的旋轉事件。如果我能避免這些事情發生,我可以避免陷入任何導致事故發生的情況。他們似乎並不必要。
感謝您指出這一點。起初我以爲我無法複製它,然後我意識到,我不僅可以重現它,而且事實上我的應用程序在App Store上充滿了崩潰報告! – matt
我發現了另一種情況發生這種情況,當用戶在應用處於多任務狀態時單擊主頁按鈕時。當應用程序處於後臺狀態時,再次連續兩次「viewWillTransitionToSize」。 – matt
我在想它這樣做的原因是它可以在橫向和縱向上快照應用程序,以便它可以在其正在運行的應用程序列表中顯示縮略圖。使用適當的代碼繞過後臺發生的方向更改,將橫向退出應用程序,旋轉至縱向,然後雙擊主屏幕以顯示正在運行的應用程序。你的屏幕截圖是錯誤的。我認爲要真正解決這個問題,我需要弄清楚我的旋轉/佈局代碼中觸發iOS中與重疊動畫相關的錯誤。與此同時,我推遲了佈局,直到我的應用程序變爲活動狀態。 – Craig