El problema se describe en el subjunto; Aquí está mi código de abajo:CGGradientCreateWithColors devuelve un puntero nulo
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
NSArray *colors = [NSArray arrayWithObjects:[UIColor redColor], [UIColor blueColor], nil];
CGGradientRef gradient = CGGradientCreateWithColors(NULL, (CFArrayRef)colors, NULL);
Se no trabajar. En realidad, la última llamada devuelve nil
;
Ni funciona cuando reemplazo el primer argumento NULL
con una referencia CGColorSpace
, p. Dispositivo RGB.
¿Qué pasa, alguien tiene una idea?
no pensé que sólo podría pegarse CGColorRefs (¿no son NSObjects?) en un NSArray así? Cuando uso [NSValue valueWithPointer:] Aún obtengo nil de nuevo para gradiente. Me falta algo aquí ... – WiseOldDuck
WiseOldDuck tiene razón, no puedes simplemente pegar CGColors en un NSArray. Primero tiene que encasillar cada uno en (id). Una vez que haces eso, ENTONCES lo anterior funciona. –
@JoeStrout: confirmado y actualizado. Gracias. –