0
//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);

背景が透明ではなく白く表示され続けます。楕円も色が変わらず、黒く表示されます。見てくださる方、よろしくお願いします。

4

1 に答える 1

0

透明性の問題については、この回答を参照できると思います: Setting A CGContext Transparent Background

楕円の色の問題については、シミュレーターでオレンジ色の楕円として正しく表示されるため、コードの他の部分からのオーバーレイやその他の副作用の可能性を確認できます。

于 2013-03-04T21:19:36.097 に答える