2009-07-26 26 views
2

Hier ist das Szenario: Wenn dies das erste Mal Benutzer bei meinem Web-Service Anmeldung ist, präsentiere ich eine modale Login-Ansicht. Bei Erfolg kann der Benutzer mehrere Elemente in seinem Konto haben und muss eines davon auswählen, bevor er mit dem Rest der App fortfahren kann.iPhone 3.0 SDK: stacked presentModalViewController Aufrufe oder in Serie?

Ich möchte eine andere modale Ansicht mit einem Picker, so dass der Benutzer die Wahl treffen kann.

Alle Beispiele, die ich von mehreren dargestellten Modals gesehen habe, sind vordefinierte (wie das E-Mail-Composer-Modal, mit dem Personen-Picker-Modal darüber), was nutzlos ist, weil der Code nicht verfügbar ist.

Wenn ich versuche, setzen die Login-modal, dann sie zu entlassen, dann den Picker präsentiert, erhalte ich eine Rekursion irgendwo mit einem Wahlschalter auf Subviews Subviews gesendet wird, gesendet werden ....

gesendet Can jemand verweist mich auf einen Beispielcode?

Ich behalte einen Verweis auf die Login-Ansicht, so dass ich dachte, ich würde nur die Stapel (gut, zwei) modale Ansichten, dann die Anmeldemodalität und sie würden alle weggehen (wie die Dokumentation sagt), aber ich kann das nicht so hinkriegen.

Vielen Dank im Voraus.

Antwort

1

Ich habe festgestellt, dass ich dies tun konnte, hatte aber Animation auf dem ersten zu beseitigen entlassen, genau dann, wenn ich Animation auf dem zweiten PresentModalViewController wurde unter Verwendung

ContactsViewController* controller = [[ContactsViewController alloc] ... 
UINavigationController* navigationController = [[UINavigationController alloc] initWithRootViewController:controller]; 

[self.navigationController presentModalViewController:navigationController animated:YES]; 
[controller release], controller = nil; 

und dann in meinem Delegatmethode, die aus aufgerufen werden die anfängliche modale Ansicht

[self.navigationController dismissModalViewControllerAnimated:NO]; // dismiss without animation 
[self.navigationController presentModalViewController:anotherViewController animated:YES]; 

Dieses Verhalten wurde auf OS 3.0.1 beobachtet.

Verwandte Themen