2010-02-18 7 views
5

Ich bin die Implementierung der TTThumbsViewController aus dem Three20-Projekt und die Dinge beginnen endlich Gestalt anzunehmen. Ich schiebe den TTThumbsViewController vom aktuellen View-Controller, indem ich ihn einfach auf den aktuellen Stack drücke und den Übergang animiere (üblicher Navigationscontroller-Push).Ansicht Controller ist unter meiner Navigationsleiste nach dem Poppen ttthumbsviewcontroller

Mein Problem ist, dass, wenn ich den TThumbsViewController-View-Controller knallen, der Navigationscontroller in einem Modus stecken bleibt, in dem seine View-Controller unter der Navigationsleiste (die jetzt durchscheinend ist) gezeichnet werden.

starten

alt text

Push-

alt text

Pop

alt text

+1

ich das Problem behoben, indem Sie die Navigationsleiste zwingen Stil BlackOpaque zu sein. Der Zeichencode zeichnet wahrscheinlich den Punkt 0,0 unter der Navigationsleiste, wenn er auf durchscheinend gesetzt ist. – scootklein

Antwort

10

Sie müssen den ursprünglichen Stil der Statusleiste, Navigationsleiste & Symbolleiste neu konfigurieren, wenn Ihre Ansicht wieder erscheint. Sie können dies tun, indem viewWillAppear: in Ihrer View-Controller-Implementierung:

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    UINavigationController* navController = self.navigationController; 
    navController.navigationBar.barStyle = UIBarStyleDefault; 
    navController.navigationBar.tintColor = [UIColor redColor]; 
    navController.toolbar.tintColor = [UIColor redColor]; 

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES]; 
} 
+0

Nur eine Randnotiz, dies ist auch die einzige Möglichkeit, mit der ich den Statusbar-Stil ändern konnte, während ich den Begrüßungsbildschirm anzeigte (oder kurz vor der ersten Ansicht, wenn Sie die Statusleiste während des Startbildschirms ausblenden)). Danke für die Brotkrumen, die mich dorthin gebracht haben – iwasrobbed

1

Es sieht so aus, als ob der View-Controller, von dem Sie drücken, nicht von TTViewController erbt. Möglicherweise müssen Sie die Eigenschaft 'navigationBarTintColor' auch auf die ursprüngliche Farbe zurücksetzen, nachdem die Ansicht vom Stapel entfernt wurde. wenn Sie kein globales Stylesheet festgelegt haben.

Verwandte Themen