2012-10-25 13 views
6

Ich habe ein Szenario, wo ich eine modale Ansicht Controller aus dem Hauptfenster rootViewController präsentieren. Während es den Inhalt dieses Modals lädt, wechsle ich zu einem anderen Ladefenster, das ich als Schlüssel und sichtbar mache.iOS 5 UIWindow makeKeyAndVisible schließt modal

Dieses Fenster dient als Ladeanzeige und ermöglicht dem Benutzer keine Interaktion mit der App. Wenn das Laden abgeschlossen ist, wechsle ich zurück zum Hauptfenster, indem ich den Schlüssel und sichtbar mache. Wenn ich das mache, wird das Modal geschlossen und die App kann keine Modale mehr präsentieren.

Interessanterweise, wenn ich [UIWindow makeKeyWindow] beim Zurückschalten auf das Hauptfenster ausführen, gibt es keine Probleme. [UIWindow makeKeyAndVisible] verursacht das Problem. Ist [UIWindow makeKeyWindow] eine akzeptable Alternative?

Dies ist nur iOS 5. Keine Probleme in iOS 6. Ich unterstütze nicht iOS 4. Weiß jemand, was hier passieren könnte?

+0

sollten Sie nicht mehr als ein Fenster verwenden, außer für andere Anzeigen wie VGA-out – Bastian

+0

Ich sehe das gleiche Verhalten. Haben Sie sich gerade entschieden, makeKeyWindow zu verwenden und alles ist in Ordnung? – strawtarget

+0

Bastian, könnten Sie näher erläutern, warum es nicht gut ist, mehr als ein Fenster zu verwenden. Ich sehe in den Dokumenten nichts, das angibt, dass eine App nur ein Fenster haben darf oder soll. In der UIWindow-Klassenreferenz heißt es: "Sofern eine App keinen Inhalt auf einem externen Gerätebildschirm anzeigen kann, hat eine App nur ein Fenster." –

Antwort

6

bekam ich das gleiche Verhalten, und als Dokumentation besagt, dass makeKeyAndVisible Verfahren eine bequeme Methode ist es mir echt scheint makeKeyAndVisible Anruf mit funktionierenden Code zu ersetzen:

[window makeKeyWindow]; 
window.hidden = NO; 

haben keine Ahnung, was falsch ist, aber es sieht wie ein Fehler aus.

+0

Vielen Dank für Ihre Antwort. Ich habe das oben genannte versucht und alles sieht gut aus! –

0

Es ist definitiv Fehler in iOS 5 UIWindow-Implementierung. Ich begegnete diesem seltsamen Verhalten und Alekseys Antwort ist der Weg zu gehen.

Verwandte Themen