Donc, dans ma vue personnalisée, j'essaie de dessiner un dégradé blanc/gris en utilisant Core Graphics. J'ai le code suivant:Dessiner une couleur blanche donne une couleur transparente
UIColor *color1 = [UIColor whiteColor];
UIColor *color2 = [UIColor colorWithRed:209.0/255.0 green:212.0/255.0 blue:217.0/255.0 alpha:1.0];
CFMutableArrayRef colors = CFArrayCreateMutable(NULL, 0, NULL);
CFArrayAppendValue(colors, color1.CGColor);
CFArrayAppendValue(colors, color2.CGColor);
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGFloat locations[2] = {0.0, 1.0};
CGGradientRef gradient = CGGradientCreateWithColors(colorspace, colors, locations);
CGContextDrawLinearGradient(UIGraphicsGetCurrentContext(), gradient, topCenter, bottomCenter, kCGGradientDrawsAfterEndLocation);
Je pense que ce code est assez simple et devrait se traduire par un gradient blanc/gris agréable. Mais ça ne l'est pas; il dessine un dégradé transparent/gris.
Je pense que cela peut avoir quelque chose à voir avec la couleur de fond de la vue, qui est [UIColor clearColor]
. Mais je ne peux pas changer cela, car j'ai besoin de certaines parties de mon point de vue pour être transparent.
Des idées?
Regardez ce http://stackoverflow.com/questions/3060010/all-colors-work-except-whitecolor Il semble lié, mais pas la question exacte, il ne veut pas marquer comme doublon . –
Lorsque vous changez la couleur d'arrière-plan en couleur blanche de couleur claire, les choses semblent-elles correctes? – Zigglzworth
Oui, mais malheureusement ce n'est pas une option pour moi – Rits