0

我画了两个圆圈。它们被绘制出来,但有一条线将它们连接起来。如何删除它?这是我的代码:

    //Background styling
CGContextSetRGBFillColor(context, 202.0/225.0, 255.0/225.0, 112.0/225.0, 1);

//Background setup
background = CGRectMake(1, 1, 1024, 786);               
CGContextAddRect(context, background);
CGContextDrawPath(context, kCGPathFill);

//Styling
CGContextSetLineWidth(context, 2.0);
CGContextSetRGBStrokeColor(context, 0.0/225.0, 0.0/225.0, 225.0/225.0, 1);
CGContextSetRGBFillColor(context, 0.0/225.0, 0.0/255.0, 225.0/225.0, 1);

//first tower setup
CGContextAddArc(context, 200, 150, 10, 0, 2*3.14159265359, YES);

//second tower setup
CGContextAddArc(context, 800, 150, 10, 0, 2*3.14159265359, YES);

//Draw towers
CGContextDrawPath(context, kCGPathFillStroke);
4

2 回答 2

2

CGContextMoveToPoint()如果要在单个路径中开始新的未连接行,则需要添加 a 。

编辑:如文档中所述CGContextAddArc

如果当前路径已经包含子路径,Quartz 会添加一条连接当前点和圆弧起点的线。如果当前路径为空,Quartz 会创建一个新的新子路径,其起点设置为弧的起点。

于 2013-02-28T01:26:15.140 回答
0

CGContextAddArc() API 参考说:如果当前路径已经包含子路径,Quartz 会添加一条连接当前点和弧起点的线。因此,在第二个 CGContextAddArc() 之前添加一个“移动”:

CGContextMoveToPoint(context, 800+10, 150);
于 2013-02-28T01:33:35.773 回答