2011-11-26 9 views
12

Estoy tratando de ingresar los argumentos para CGContextSetRGBFillColor usando un tipo de datos. Por ejemplo:Cómo ingresar un argumento en CGContextSetRGBFillColor?

NSString *colorcode = ctx, 0, 1, 0, 0; 
CGContextSetRGBFillColor(colorcode); 

Pero me sale un error al decir que tengo muy pocos argumentos.

Quiero cambiar los argumentos (ctx, 0, 1, 0, 1) enviados a CGContextSetRGBFillColor dependiendo de las acciones de los usuarios.

Quiero ingresar el argumento para CGContextSetRGBFillColor usando un tipo de datos porque los valores de este se establecen en un controlador de vista separado. ¿O puedo ingresar directamente los argumentos al CGContextSetRGBFillColor y luego llevarlo al otro controlador de vista para usarlo?

+0

Si se trata del 'CGContext' actual, puede usar el método' setFill' de la clase 'UIColor';) – DanSkeel

Respuesta

1

suena como lo que realmente necesita hacer es:

CGContextSetRGBFillColor (ctx, 0.0f, 1.0f, 0.0f, 1.0f); 

Donde cada componente de color es una fracción entre 0,0 y 1,0.

¿Por qué está utilizando un NSString?

Here is the documentation on Apple's website.

40

Intente utilizar un objeto UIColor para almacenar el color seleccionado por el usuario. Puede crear uno como este:

UIColor *color = [UIColor colorWithRed:0 green:1 blue:0 alpha:0]; 

Luego, cuando llega el momento de utilizarlo como el color de relleno, se puede hacer esto:

CGContextSetFillColorWithColor(ctx, color.CGColor); 

Debo mencionar que si usted es no utilizando ARC , debe retener y liberar el color de forma adecuada.

0

Quiero ingresar el argumento para CGContextSetRGBFillColor usando un tipo de datos porque los valores de este se configuran en un controlador de vista separado.

Usted puede estar interesado en la clase CGColor, o, en IOS específicamente, UIColor.

o puedo introducir directamente los argumentos a CGContextSetRGBFillColor ...

Esa es la única forma de entrada de los argumentos a CGContextSetRGBFillColor.

... y luego llevarlo al otro controlador de vista para usarlo?

Eso no tiene sentido. Trae lo que pasó?

Si desea llevar el color de un controlador de vista a otro, lo mejor es crear un objeto de color, ya sea un CGColor o un UIColor, y pasarlo.

+0

Tener un controlador de vista a cargo de una vista de selector de color y usar el color elegido en la vista de otro controlador, es razonable. –

+0

@robmayoff: Es suficiente. Eliminaré ese bit de mi respuesta. –

Cuestiones relacionadas