Leerer Bildschirm für iOS 5, nachdem Modal gelöscht wurde und nach einer Speicherwarnung vom Hintergrund zurückgekehrt ist

8
  1. Führen Sie eine App mit Tabs mit iOS 5-Simulator oder Gerät
  2. aus
  3. Rufen Sie einen modalen Dialog auf
  4. Speicherwarnung simulieren (für Geräte, die zu einigen speicherintensiven Anwendungen gehen)
  5. Wechseln Sie zu einer anderen App (falls noch nicht geschehen)
  6. Komm zurück zur App
  7. Schließen Sie den Dialog
  8. ab

Sie sehen einen leeren Bildschirm (das Fenster). Testen Sie das Projekt, um diesen Bug / dieses Problem zu demonstrieren: Ссылка

    
cpungaliya 09.11.2011, 23:56
quelle

2 Antworten

4

Ich bin mir heute selbst begegnet und kann keine andere Erklärung finden als einen iOS 5 Bug. Nach ein bisschen Hacking fand ich einen Workaround. Bevor Sie den Modalansicht-Controller schließen, ändern Sie tabBarController.selectedIndex in einen anderen View-Controller-Index und dann wieder zurück.

Sie können dies in einem Klon Ihres Projekts unter Ссылка sehen. Das habe ich Ihnen auch als Pull-Request übermittelt.

BEARBEITEN: hinzugefügter openradar Bericht

Jemand hat dies auch auf openradar gepostet: Ссылка

    
XJones 11.01.2012 07:03
quelle
1

Ich hatte auch das gleiche Problem und habe es behoben. Das Problem ist, dass die Ausgänge, die wir über xib verbinden, in viewDidUnload auf nil gesetzt sind. Diese Methode wird für alle Ansichten aufgerufen, die derzeit nicht sichtbar sind, wenn eine Speicherwarnung auftritt. Wenn wir zu diesen Ansichten zurückkehren, wird ihre viewDidLoad-Methode erneut aufgerufen. Die einzige Möglichkeit, dies zu beheben, ist das Entfernen von setNil-Methoden von viewDIdUnload zur dealloc-Methode, und alles funktioniert einwandfrei.

    
arundevma 25.01.2013 04:52
quelle