0

我正在使用 iOS 中的核心图形绘制一个椭圆。椭圆角附近的区域是黑色的。我希望它是clearColor。我该怎么办?

CGContextAddEllipseInRect(context, ellipseFrame);
CGContextSetFillColorWithColor(context, fillColor);
CGContextFillEllipseInRect(context, ellipseFrame);

对不起。我没有足够的声誉来添加我的输出截图。

4

3 回答 3

1

如果在 UIView 子类的 drawRect 方法中绘制椭圆,则椭圆角附近的区域必须取 UIView 的背景色。将其 backgroundColor 设置为 clearColor 应该可以解决问题。

于 2013-05-22T06:58:34.127 回答
1

在开始绘图之前清除上下文:

CGContextClearRect(context, ellipseFrame);
于 2013-05-22T06:42:39.863 回答
0

在 UIView 或 NSView 中,您从后向前绘制。您可以将您在 drawRect: 中编写的代码视为程序性的从前到后的绘图指令。如果您看到黑角,您可能有一个 isOpaque 的包含视图,或者需要先执行 [[NSColor clearColor] fill],然后在 drawRect 中进行后续绘图:

于 2013-05-22T07:12:59.890 回答