2017-05-11 4 views
1

J'ai un ivrogne qui se produit lorsque je pousse un contrôleur de vue avec une barre de navigation libre. Ou plutôt quand j'appuie sur le bouton de retour.Poussez un contrôleur d'affichage avec une barre de navigation vide

Mon application:

enter image description here

Je voudrais ce résultat:

enter image description here

Mon code:

DetailViewController -> viewDidLoad

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] 
          forBarMetrics:UIBarMetricsDefault]; 
    self.navigationController.navigationBar.shadowImage = [UIImage new]; 
    self.navigationController.navigationBar.translucent = YES; 

DetailViewController

- (void)viewDidDisappear:(BOOL)animated { 
    self.navigationController.navigationBar.translucent = NO; 
} 

- (void)viewWillDisappear:(BOOL)animated { 
    self.navigationController.navigationBar.translucent = NO; 
} 

Répondre

0

y a quelque temps que je cherchais à résoudre exactement le même problème, et malheureusement jamais ai eu la recherche exactement comme votre mockup. Cependant, définir backgroundImage sur nil sur viewWillDisappear aide un peu la transition.

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [self.navigationController.navigationBar setBackgroundImage:nil      
             forBarMetrics:UIBarMetricsDefault]; 
    self.navigationController.navigationBar.shadowImage = nil; 

    self.navigationController.navigationBar.translucent = NO; 
} 
+0

Merci, mais c'est incroyable que nous ne pouvons pas résoudre ce problème, je ne sais pas comment il a fait. Peut être une liaison personnalisée avec deux navigationcontroller –

+0

C'est une idée intéressante, et une que je n'ai pas essayé, mais cela pourrait fonctionner. – Shackleford