UINavigationController changement de la barre de navigation de la teinte de la couleur à l'échelle mondiale et par programme

Ce code permet de changer la couleur d'un UINavigationBar partout dans l'application. Cependant, j'ai remarqué que il ne change pas la UIColor de la UINavigationBar utilisé par UINavigationController (le mien vient d'un UIStoryboard).

UIColor* navBarColor = [UIColor colorWithRed:arc4random()%100/100.0 
                                       green:arc4random()%100/100.0 
                                        blue:arc4random()%100/100.0 
                                       alpha:1];
[[UINavigationBar appearance] setTintColor:navBarColor];

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setAlpha:0.7];

Est-il un moyen d'accéder à la appearance objet d'un UINavigationController's barre de navigation? Je sais comment mettre des teintes de des contrôleurs individuels, mais je veux avoir un contrôle global sur la façon dont ils regardent.

Mise à jour:
Cela a été mon erreur, le code ne changer la UIColor de tous les UINavigationBars, mais il faut que la racine de la manette de navigation pour être couvert et découvert(par exemple la présentation d'un modal-vue-contrôleur), puis de re-dessiner lui-même avec de nouveaux UIColors!

Merci!

InformationsquelleAutor Alex Stone | 2012-02-23