椭圆的周围区域是黑色的.为什么



我在iOS中使用核心图形绘制椭圆。椭圆边角附近的区域是黑色的。我希望它是clearColor。我怎么知道呢?

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

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

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

CGContextClearRect(context, ellipseFrame);

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

在UIView或NSView中你从后到前绘制。你可以把你在drawRect中写的代码看作是过程性的从后到前的绘图指令。如果你看到了黑色的角你可能有一个包含视图是isOpaque或者需要在drawRect:

中绘制之前先执行[[NSColor clearColor] fill]

最新更新