两个圆圈之间的不需要的线 - 石英

时间:2013-02-28 01:05:10

标签: objective-c ipad quartz-graphics

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

    //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);

2 个答案:

答案 0 :(得分:2)

如果您想在单个路径中启动新的未连接线路,则需要添加CGContextMoveToPoint()

编辑:正如CGContextAddArc的文档中所述:

  

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

答案 1 :(得分:0)

CGContextAddArc()API参考说:如果当前路径已经包含子路径,Quartz会添加一条将当前点连接到弧的起点的线。 所以,在第二个CGContextAddArc():

之前添加一个“move”
CGContextMoveToPoint(context, 800+10, 150);