Pourquoi ne puis-je définir une couleur teinte personnalisée pour le UINavigationBar?
-
01-10-2019 - |
Question
Je veux changer la couleur sur la barre de navigation et la documentation indique ne pas tenter de changer la valeur « alpha ». Alors, comment puis-je définir une couleur qui ne sont pas les SDK valeurs définies (par exemple, [UIColor redColor], brownColor, etc.) si tous les constructeurs fournissent une valeur alpha? J'ai essayé d'obtenir la valeur alpha actuelle, mais cela n'a pas aidé. Lorsque j'utilise une couleur personnalisée, elle provoque la barre de navigation pour ressembler à une radiographie (un décharné, noir sur blanc).
[self.navigationController.navigationBar setTintColor: [UIColor brownColor]];
La solution
Je peux être un idiot ... pendant des mois maintenant, je supposais les valeurs vont de 0..255 (à savoir, les valeurs de couleur HTML), mais ils sont dans la gamme [0.0 .. 1.0]. Maintenant que je tournerai ma 0..255 valeur et normalise à 0..1 cela fonctionne comme prévu. J'ai écrit une application simple curseur de couleur et quand je le débogage, est quand j'ai réalisé mon erreur.
Autres conseils
Essayez ceci:
Lors de la création du UINavigationController initialement
MyNavigationController *navigationController = [[MyNavigationController alloc] init];
[[navigationController navigationBar] setTintColor:[UIColor redColor]];