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];
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
Faites juste ceci:
navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1];
Vous devez diviser chaque valeur pour 255. Essayez:
[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]
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);
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é").