CGContextSetRGBFillColor始终将颜色设置为黑色

时间:2013-09-11 11:39:19

标签: objective-c geometry drawrect

我有一个绘制圆圈的UIView,这是我的代码。

我正在尝试将颜色设置为“浅红色”,但无论我在CGContextSetRGBFillColor中放置的值,它总是会变黑。

我做错了什么?

- (void)drawRect:(CGRect)rect
{
    CGContextRef contextRef = UIGraphicsGetCurrentContext();

    CGContextFillEllipseInRect(contextRef, CGRectMake(20, 100, 9, 9));
    CGContextSetRGBFillColor(contextRef, 255.0/255.0, 115.0/255.0, 155.0/255.0, 0.7);

    CGContextStrokeEllipseInRect(contextRef, CGRectMake(20, 100, 9, 9));
    CGContextSetRGBFillColor(contextRef, 255.0/255.0, 115.0/255.0, 155.0/255.0, 0.7);
}

1 个答案:

答案 0 :(得分:2)

在绘制形状之前设置填充颜色。如果你想要描边,你必须设置描边颜色。

- (void)drawRect:(CGRect)rect
{
    CGContextRef contextRef = UIGraphicsGetCurrentContext();

    CGContextSetRGBFillColor(contextRef, 255.0/255.0, 115.0/255.0, 155.0/255.0, 0.7);
    CGContextFillEllipseInRect(contextRef, CGRectMake(20, 100, 9, 9));

    CGContextSetRGBStrokeColor(contextRef, 255.0/255.0, 115.0/255.0, 155.0/255.0, 0.7);
    CGContextStrokeEllipseInRect(contextRef, CGRectMake(20, 100, 9, 9));
}