presentModalViewController auf tabBarController - nach dismiss, weißer screen

  • presentModalViewController auf tabBarController - nach dismiss, weißer screen

    Hallo Leute,

    ich habe eine TabBarApp und möchte diese mit einem Login schützen. Habe dafür einen LoginController angelegt und möchte diesen nun auf die komplette TabBarView legen.
    Dies mache ich in der viewDidAppear methode eines ViewController, welches der tabbar zugeordnet ist, mit:

    Quellcode

    1. loginController = [[[LoginController alloc] initWithNibName:@"LoginController" bundle:nil] autorelease];
    2. [self.tabBarController presentModalViewController:loginController animated:NO];



    und nach erfolgreichem login das hier:

    Quellcode

    1. [self dismissModalViewControllerAnimated:YES];


    Ich bekomme einen weißen screen. Ich habe alle verbindungen geprüft, alles stimmt. Wenn ich die loginView nicht lade, sehe ich auch meine TabBar mit.


    Hat jemand eine Ahnung warum das so ist?
  • Von wo lädst Du den LoginController? Wahrscheinlich ist der Tabbarcontroller noch nicht vollständig initialisiert.

    Alternativ kannst Du den Tabbarcontroller auch modal über dem Logincontroller anzeigen oder die beiden Controller über die Property rootViewController austauschen.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Von wo lädst Du den LoginController? Wahrscheinlich ist der Tabbarcontroller noch nicht vollständig initialisiert.

    Alternativ kannst Du den Tabbarcontroller auch modal über dem Logincontroller anzeigen oder die beiden Controller über die Property rootViewController austauschen.
    Von meinem InboxViewController in der viewDidAppear methode. Der InboxViewController ist auch der viewController der TabBar index:0.
    Wenn dieser nicht vollständig initialisiert wurde, könnte ich das doch mit einem Thread/Timer übertriebener weise von 3 sekunden doch testen. Müsste dieser dann erscheinen?
  • brush51 schrieb:

    Wenn dieser nicht vollständig initialisiert wurde, könnte ich das doch mit einem Thread/Timer übertriebener weise von 3 sekunden doch testen.

    Wie willst Du das testen? An der Initialisierung liegt es wahrscheinlich auch nicht. Das mit dem Timer ist Gefuddel. Das ist keine saubere, dauerhafte Lösung.

    Du kannst aber mal testweise den modalen View mit einer Verzögerung öffnen, um zu sehen, ob der Effekt dann auch auftritt.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    brush51 schrieb:

    Wenn dieser nicht vollständig initialisiert wurde, könnte ich das doch mit einem Thread/Timer übertriebener weise von 3 sekunden doch testen.

    Wie willst Du das testen? An der Initialisierung liegt es wahrscheinlich auch nicht. Das mit dem Timer ist Gefuddel. Das ist keine saubere, dauerhafte Lösung.

    Du kannst aber mal testweise den modalen View mit einer Verzögerung öffnen, um zu sehen, ob der Effekt dann auch auftritt.
    Also die TabBar und deren Views werden mit Sicherheit initialisiert, denn wenn ich animiert den View darstelle, sehe ich auch alles, und wenn dann der LoginController dargestellt wurde, verschwindet die TabBar mit den views komplett(sehe ich anhand von alpha 0.5 vom loginView).