2012-06-13 2 views
7

Ich bin die Schnittstelle innerhalb Interface Builder bauen und sehen, dass es eine Vielzahl von Farbpaletten für Farben Schrift- und Hintergrund Auswahl:xCode 4.3 Wie programmgesteuert auf die Farben der Benutzeroberfläche des Builders zugreifen?

background color>other>color widget 3rd tab > Palette 

Einige von ihnen haben seltsame Namen wie „Ice“, „Sky“,

usw.

von meinem Code ich habe Zugang zu

[UIColor blueColor]; 
[UIColor cyanColor]; 

gibt es eine Möglichkeit für mich, diese zusätzliche Farben von meinem Code nach Namen zugreifen? Zum Beispiel

//Is there a method call that does something like this? 
[Color colorNamed:@"Ice" inPalette:@"Apple"]; 

Vielen Dank!

Antwort

9

Sie müssten die RGB-Werte der Farben, die Sie benötigen, aus den Farben der Zeichenstifte ermitteln. Man konnte sie auf diese Weise Zugriff auf "Sky" wäre: [UIColor colorWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0];

Oder UIColor Kategorien hinzufügen, die alle Farben hinzufügen, die Sie brauchen: [UIColor skyColor];

In UIColor+Colors.h add:

@interface UIColor (Colors) 
+(UIColor *)skyColor; 
@end 

In UIColor+Colors.m add :

@implementation UIColor (Colors) 
+(UIColor *)skyColor 
{ 
    static UIColor *color = nil; 
    if (!color) 
    color = [[UIColor alloc] initWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0]; 
    return color; 
} 
@end 
+0

Vielen Dank für die Empfehlung. Ich versuche speziell zu vermeiden, dass ich an die RGB-Werte denken muss, und stattdessen einfach aus einer vordefinierten Palettenbezeichnung auswählen muss. –

+2

Sie müssen nicht über die Werte "nachdenken". Wenn Sie sie aus den vordefinierten Buntstiften möchten, öffnen Sie das Farbfenster, wählen Sie die Registerkarte "Buntstift" und den gewünschten Buntstift, dann wählen Sie die Registerkarte "RGB" und die RGB-Werte dieses Buntstifts werden für Sie definiert. – mccrager

+7

Hier hat jemand schon die ganze Arbeit für die Kategorien erledigt: https://github.com/rob-brown/RBCategories/blob/master/UIColor+RBExtras.m – mccrager

Verwandte Themen