gpt4 book ai didi

ios - Quartz Core 绘制一些图元

转载 作者:行者123 更新时间:2023-11-29 03:17:59 33 4
gpt4 key购买 nike

我想画一个绿色的圆圈,里面有一个白色的矩形(或几个矩形)。但我无法理解如何使用 CGContext 方法。这是我的代码。首先我画一个圆圈并填充它,然后我想在我的圆圈内画其他东西。但是,如果我使用相同的 CGContextRef 在图元内部绘制,CGContextSetFillColor 会更改我的圆圈的颜色。

- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextAddEllipseInRect(ctx, rect);
CGContextSetFillColor(ctx, CGColorGetComponents([self.color CGColor]));
CGContextFillPath(ctx);

switch (self.type)
{
case ETBRoundViewTypeBook:
{
CGRect bookRect = CGRectMake(CGRectGetMidX(rect) - 10, CGRectGetMidY(rect) - 12, 20, 24);
CGContextAddRect(ctx, bookRect);
CGContextSetFillColor(ctx, CGColorGetComponents([UIColor whiteColor].CGColor));
CGContextFillPath(ctx);
}
case ETBRoundViewTypeList:
{
break;
}
case ETBRoundViewTypeTick:
{
break;
}
default:
break;
}
}

编辑:通过将 CGContextSetFillColor 替换为 CGContextSetFillColorWithColor 解决了这个问题。

最佳答案

我刚刚尝试过这个并且有效。

-(void)drawRect:(CGRect)rect{
CGContextRef ctx =UIGraphicsGetCurrentContext();
CGContextAddEllipseInRect(ctx, rect);
CGContextSetFillColorWithColor(ctx, [UIColor greenColor].CGColor);
CGContextFillPath(ctx);
CGContextAddEllipseInRect(ctx, CGRectMake(30, 30, 40, 40));
CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);
CGContextFillPath(ctx);
}

关于ios - Quartz Core 绘制一些图元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21450486/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com