Was würde dazu führen, dass der iPhone-Startbildschirm hinter einem modalen Flip-Übergang sichtbar ist?

9

Manchmal, nicht immer, wenn meine App einen modalen View-Controller anzeigt, der presentModalViewController:animated: mit modalTransitionStyle auf UIModalTransitionStyleFlipHorizontal setzt, ist der iPhone-Startbildschirm hinter der Animation sichtbar. Meistens ist der Hintergrund schwarz wie erwartet. Es gibt nichts ungewöhnliches, wenn ich die window oder rootViewController (a UITabBarController ) eingerichtet habe. Ich habe die Benutzeroberfläche meiner App ausgeblendet, aber Sie können das Problem auf dem Screenshot sehen, das während des Übergangs mit einem iPhone 4 aufgenommen wurde.

Was würde das verursachen? Ich weiß nicht, wie ich es machen soll, selbst wenn ich dieses Verhalten wollte.

EDIT: Dieser Screenshot wurde mir von einem Tester geschickt, ich habe ihn nicht selbst reproduziert. Sie sagten mir, dass es während einer bestimmten App-Sitzung aufgetreten ist und sobald es aufgetreten ist, passierte es für alle Übergänge. Wenn sie die App beenden / neu starten, passiert das nicht mehr und sie haben sie seitdem nicht mehr gesehen. Ich frage mich, ob es etwas ist, worüber ich besorgt sein muss (d. H. Ich kann es im Code verhindern).

EDIT 2: Diese App verwendet nicht IB. Alle Controller / Ansichten werden in Code erstellt.

    
XJones 29.12.2011, 23:24
quelle

5 Antworten

3

Ich hatte vorher das gleiche Problem. Probieren Sie [viewController.view setBackgroundColor:[UIColor blackColor]]; in der Ansicht Ihres Pushing. Arbeitete für mich sowieso!

    
Chad 21.01.2012, 02:19
quelle
2

Dies passiert, wenn iOS eine Speicherwarnung an die App sendet und das Framework der App automatisch alle nicht sichtbaren Ansichtskomponenten ablegt, mit Ausnahme der Datenstrukturen, die sich auf den viewController beziehen, und wenn auf die Ansicht verwiesen wird Laden Sie die Ansicht von der Spitze wieder (in Ihrem Fall loadView heißt ich rate) Sie sollten sicherstellen, dass Ihre Ansicht Konstruktionscode rekonstruierbar ist und alle Objekte in Bezug auf die Ansicht Komponenten in ViewDidUnload -Methode von Ihrem View-Controller zu annullieren.

Sie können dies auch erreichen, indem Sie Ihre App mit dem Simulator ausführen und wenn Sie in dieser modalen Ansicht sind, lösen Sie die "Memory Warning" -Simulation aus dem "Device" -Menü oben auf Ihrem Computerbildschirm aus.

    
Rhm Akbari 16.03.2012 23:32
quelle
0

Ich bin mir nicht sicher, aber ich denke, dass dies durch einen Fehler oder eine Änderung des Hauptcodes "UIApplication.h", ein Problem mit dem iOS oder ein Problem mit der Version von Xcode verursacht wurde.

Seb

    
Seb OH 31.12.2011 07:35
quelle
0

Ich habe gesehen, dass dieses Problem auch mit der Facebook iPhone App passiert ist. Vielleicht ist es Apples Bug.

    
Alex Salom 13.03.2012 09:11
quelle
0

Anweisungen zur Behebung dieses Problems:

  1. Gehe zum betroffenen XIB und wähle den View-Controller aus.
  2. Gehen Sie zum Attributfeld auf der rechten Seite. Gehe zu Ansicht & gt; & gt; Hintergrundfarbe.
  3. Stellen Sie nun die Farbe ein, die Sie für den Übergang verwenden möchten.

Hoffe das hilft:)

    
Seb OH 30.11.2013 21:55
quelle