0

私は2つの円を描きました。それらは描かれていますが、それらを結ぶ線があります。どうすれば削除できますか?これが私のコードです:

    //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()単一のパス内で接続されていない新しい回線を開始する場合は、を追加する必要があります。

編集:ドキュメントに記載されているようにCGContextAddArc

現在のパスにすでにサブパスが含まれている場合、Quartzは現在のポイントを円弧の始点に接続する線を追加します。現在のパスが空の場合、Quartzは、開始点が円弧の開始点に設定された新しい新しいサブパスを作成します。

于 2013-02-28T01:26:15.140 に答える
0

CGContextAddArc()APIリファレンスによると:現在のパスにすでにサブパスが含まれている場合、Quartzは現在のポイントをアークの開始ポイントに接続する線を追加します。したがって、2番目のCGContextAddArc()の前に「移動」を追加します。

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