所以在我的自定义视图中,我试图用Core Graphics绘制白色/灰色渐变。我有以下代码:绘制一个白色的颜色导致透明的颜色
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);
我认为这段代码相当简单,应该会产生漂亮的白色/灰色渐变。但它不;它绘制一个透明/灰色渐变。
我认为这可能与视图的背景颜色有关,即[UIColor clearColor]
。但我无法改变这一点,因为我需要让我的某些观点变得透明。
任何想法?
看这个http://stackoverflow.com/questions/3060010/all-colors-work-except-whitecolor它似乎有关,但没有确切的问题,所以不想标记为重复。 –
当您将背景颜色从透明颜色更改为白色时,请将事情看起来正确吗? – Zigglzworth
是的,但不幸的是,这不是我的选择 – Rits