web-dev-qa-db-fra.com

Comment changer la couleur de la barre d'outils du contrôleur de navigation sous iOS?

J'essaie de changer la couleur de ma barre de navigation. Le RGB suivant est pour une couleur rouge foncé, mais ma barre de navigation devient blanche après le code suivant.

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117 green:4 blue:32 alpha:1];
16
aryaxt

En effet, les valeurs CGFloat vont de 0.0 to 1.0 et non de 0 to 255, et les valeurs supérieures à 1.0 sont interprétées comme 1.0.

Voici la documentation: UIColor

28
Oscar Gomez

Faites juste ceci:

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1];
16
TommyG

Vous devez diviser chaque valeur pour 255. Essayez:

[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]
6
fncap

Je trouve que si vous venez du Web ou de quelque chose comme Photoshop, il est plus facile de travailler avec des couleurs hexadécimales. Vous pouvez utiliser cette macro pour cela:

//RGB color macro
#define UIColorFromRGB(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

Et utilisez-le comme ceci:

self.navigationBar.tintColor = UIColorFromRGB(0xd8dadf);
3
monzonj

Ah, c'est marrant. La vraie réponse est que .tintColor définit la couleur des éléments de navigation du contrôleur de navigation (comme un bouton "Terminé").

0
broken_image