2012-04-06 21 views
14

Me preguntaba cómo puede convertir CGcolorRef en UIColor? He creado un método personalizado para mi propio y lo necesito para usar UIColorConvierta CGcolorRef a UIColor

método Editado:

- (void)fontColor:(CGColorRef)colors setString(NSSTring *)blah blah blah { 

    coreTextLayer.foregroundColor = color; 


    } 


[myClass fontColor:[UIColor redColor] setString....]; 

la manera correcta es usar algo como esto:

[UIColor redColor]CGColor]; 

pero ¿hay alguna forma de usar solo UIColor?

Respuesta

33

¿+ (UIColor *)colorWithCGColor:(CGColorRef)cgColor no hace lo que necesita?


Seguimiento:

Pruebe la aplicación de su método como algo parecido a:.

- (void)setFontColor:(UIColor *)color forString(NSString *)aString { 
    [coreTextLayer setForegroundColor:[color CGColor]]; 
    ... 
} 

(ajustado para estar más en línea con las convenciones de cacao de nombres, y de no utilizar la sintaxis con punto; -)

+0

ammm En realidad no se trata sólo UIColor mi método es algo como esto: '- (void) fontcolor: (CGColorRef) colores setString (NSString *) blah blah blah {' –

+0

Lo siento, no entiendo lo que estás tratando de lograr aquí. Lo que escribí * does * devuelve un UIColor dado un CGColorRef. ¿Cuál es tu preocupación? –

+0

Aunque su código actualizado hace parecer que desea ir en la dirección opuesta, es decir, '[[UIColor redColor] CGColor]'. –

4

¿Por qué no usar

  • (UIColor *) initWithCGColor: (CGColorRef) cgColor
+0

ver mi pregunta editada –