2012-06-13 17 views
7

estoy construyendo la interfaz dentro de constructor de interfaces y ver que hay una variedad de paletas de colores disponibles para la selección del tipo de letra y colores de fondo:xCode 4.3 cómo acceder mediante programación a los colores de la paleta del generador de interfaz?

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

Algunos de ellos tienen nombres extraños como "hielo", "Cielo", etc.

desde mi código tengo acceso a

[UIColor blueColor]; 
[UIColor cyanColor]; 

¿hay alguna forma para que tenga acceso a estos colores adicionales por el nombre de mi código? Por ejemplo,

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

Gracias!

Respuesta

9

Debería obtener los valores RGB de los colores que necesita de los colores de crayón. Se les puede acceder de esta manera, "Cielo" sería: [UIColor colorWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0];

O añadir UIColor categorías que se suman todos los colores que usted necesita: [UIColor skyColor];

En UIColor+Colors.h complemento:

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

En UIColor+Colors.m complemento :

@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

Gracias por la recomendación. Estoy tratando específicamente de evitar tener que pensar en los valores RGB y, en su lugar, simplemente seleccionando desde un nombre de paleta predefinido. –

+2

No tiene que "pensar" en los valores. Si los quiere de los crayones predefinidos, abra el panel de colores, seleccione la ficha de crayón y el crayón que desee, luego seleccione la pestaña RGB y los valores RGB de ese crayón están definidos para usted. – mccrager

+7

Aquí, alguien ya hizo todo el trabajo preliminar para las categorías: https://github.com/rob-brown/RBCategories/blob/master/UIColor+RBExtras.m – mccrager

Cuestiones relacionadas