DrawRect保持绘制白色背景

时间:2013-03-04 19:56:25

标签: ios uiview core-graphics drawrect cgpath

//inside init
_color = [UIColor orangeColor];
self.backgroundColor = [UIColor clearColor];
self.clearsContextBeforeDrawing = NO;

//inside drawRect
CGContextRef ctx = UIGraphicsGetCurrentContext();

CGContextSaveGState(ctx);
    CGContextAddEllipseInRect(ctx, rect);
    CGContextSetFillColorWithColor(ctx,
                                   _color.CGColor);
    CGContextFillPath(ctx);
CGContextRestoreGState(ctx);

背景不断显示为白色而非透明。椭圆也不会改变颜色并显示为黑色。提前感谢任何看过的人。

1 个答案:

答案 0 :(得分:0)

我认为您可以参考这个答案来解决透明度问题: Setting A CGContext Transparent Background

关于椭圆颜色问题,它在我的模拟器上正确显示为橙色椭圆,因此您可以检查代码中其他部分的可能叠加或其他可能的副作用。