0

Mon application a un contrôleur de vue de la navigation avec 2 vues:
- une vue racine: je voudrais la couleur de teinte pour sa barre de navigation pour être noir
- vue sous: je voudrais la couleur de teinte pour sa barre de navigation pour être bleuDifférentes couleurs de la barre de navigation à l'intérieur d'un seul contrôleur de navigation?

pour ce faire, je mets la couleur de teinte pour la barre de navigation dans la méthode viewDidLoad de chaque contrôleur de vue: self.navigationController.navigationBar.tintColor = [UIColor blackColor];

Mon problème est que lors des essais:
- étape 1 - j'accède à la vue racine: la barre de navigation est noire: OK
- étape 2 - i pousser la sous-vue: la barre de navigation est bleu: OK
- étape 3 - je clique sur le bouton « retour » de la sous-vue: la navigation reste bleu: KO

Y at-il ajouté code que je devrais ajouter pour obtenir le comportement que je veux? (j'ai essayé quelques solutions de contournement sales comme appeler drawRect dans viewWillAppear mais cela ne fonctionne pas)

Merci pour votre aide!

Répondre

2

Vous devriez être en mesure de faire la self.navigationController.navigationBar.tintColor = [UIColor blackColor]; dans viewWillAppear ou viewDidAppear

+0

Un grand merci pour votre réponse. J'ai un peu honte parce que la solution n'était pas si difficile à trouver :) –

0

La raison en est que le NavigationController est partagé. Ainsi, lorsque vous changez sa couleur en Bleu, vous devez la redéfinir sur Noir.

La meilleure façon est comme dit Elfred, vous devriez le faire dans viewWillAppear

Questions connexes