So rufen Sie eine view-controller aus AppDelegate in iOS
Ich bin erstellen einer iOS-app, in der ich den folgenden requeriment: sollte die app den login-Bildschirm, wenn er startet das erste mal und auch, dass der Bildschirm muss auch gezeigt werden, wenn die app kommt aus dem hintergrund in den Vordergrund, falls es gesendet wurde, in den hintergrund, während der Laufzeit.
Ich behandelt haben, zeigen Sie den Bildschirm in beiden Fällen. Allerdings, wenn ich es tun, und die app kommt aus dem hintergrund, und ich auf die texfield zu geben mein Passwort, die app wird eingefroren, und es nicht in einem thread, dass ich nicht weiß, was es bedeutet.
Ich den Anruf-Bildschirm angezeigt werden soll, wenn die app kommt aus dem hintergrund, wie dieser, in der applicationWillEnterForeground, in AppDelegate:
self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
RoomRootViewController* room = [[RoomRootViewController alloc] init];
[[self window] setRootViewController:room];
[self.window makeKeyAndVisible];
Ist dies der richtige Weg, dies zu tun?
Vielen Dank im Voraus ! Bin ich völlig verloren mit dieser, wie ich bin sehr neu in iOS, so dass jede Hilfe wird sehr geschätzt.
Befestigt in einem Bild können Sie sehen, wo die app nicht.
InformationsquelleAutor Stefan S | 2013-07-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den code, den Sie momentan verwenden, ist völlig löschen der root-Ansicht-controller der app-Fenster, in anderen Worten, löschen Sie alle views und view-Controller in Ihrem app. Wenn Sie nicht mit der ARC, das ist einfach nur ein riesiges Speicherleck. Wenn Sie sind, es ist noch nicht eine sehr gute Idee.
In Ihrem
applicationWillEnterForeground:
Methode, versuchen Sie diesen code statt:Dies zeigt die
RoomRootViewController
über die top - der alle app ' s aktuelle Ansichten, anstatt Sie zu löschen. Sie können dann schließen Sie diese wie folgt:und leicht zurück, um den rest der app.
nicht für mich arbeiten.... ich dnt wissen, was ich verpasst habe
InformationsquelleAutor Greg
Wird es sehr chaotisch werden, wenn Sie mit dieser Codezeile
Jedes mal, wenn Sie erstellen eine neue Instanz der
UIWindow
enthalten wirdUIViewController
und alle anderen Komponente, jedes mal. Was bedeutet, wenn Sie gehen, um hintergrund-und Vordergrund-die alten Fenster so wurde ausgespült und es enthält neue Komponenten, die ist, warum, wenn Sie klicken Sie auf die UITextField-es wurde aufgehoben, Der Grund, Sie sind immer Fehler. Erstellen Sie keine neue Instanz von Fenster und verwenden Sie den code wie @PartiallyFinite tut.Hoffe, das hilft.
InformationsquelleAutor iEinstein