Ich versuche, die Farbe meiner Navigationsleiste zu ändern. Das folgende RGB ist für eine dunkelrote Farbe, aber meine Navigationsleiste wird nach dem folgenden Code weiß.
navigationController.navigationBar.tintColor = [UIColor colorWithRed:117 green:4 blue:32 alpha:1];
Dies liegt daran, dass die Werte für CGFloat
von 0.0 to 1.0
und nicht von 0 to 255
reichen und Werte über 1.0
als 1.0
interpretiert werden.
Hier ist die Dokumentation: UIColor
Mach einfach folgendes:
navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1];
Sie müssen jeden Wert für 255 teilen. Versuchen Sie:
[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]
Ich finde, wenn Sie aus dem Internet oder aus Photoshop kommen, ist es einfacher, mit hexadezimalen Farben zu arbeiten. Sie können dieses Makro dafür verwenden:
//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]
Und benutze es so:
self.navigationBar.tintColor = UIColorFromRGB(0xd8dadf);
Ah, das ist lustig. Die echte Antwort ist, dass .tintColor die Farbe für die Navigationselemente des Navigationscontrollers festlegt (wie eine Schaltfläche "Fertig").