我画了两个圆圈。它们被绘制,但有一条连接它们的线。我该如何删除它?这是我的代码:
//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);
答案 0 :(得分:2)
如果您想在单个路径中启动新的未连接线路,则需要添加CGContextMoveToPoint()
。
编辑:正如CGContextAddArc
的文档中所述:
如果当前路径已包含子路径,Quartz会添加一条将当前点连接到弧的起点的线。如果当前路径为空,Quartz会创建一个新的新子路径,其起点设置为弧的起始点。
答案 1 :(得分:0)
CGContextAddArc()API参考说:如果当前路径已经包含子路径,Quartz会添加一条将当前点连接到弧的起点的线。 所以,在第二个CGContextAddArc():
之前添加一个“move”CGContextMoveToPoint(context, 800+10, 150);