//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);
背景不断显示为白色而非透明。椭圆也不会改变颜色并显示为黑色。提前感谢任何看过的人。
答案 0 :(得分:0)
我认为您可以参考这个答案来解决透明度问题: Setting A CGContext Transparent Background
关于椭圆颜色问题,它在我的模拟器上正确显示为橙色椭圆,因此您可以检查代码中其他部分的可能叠加或其他可能的副作用。