ここに新しいプログラマー。Core Graphicsを使用して、タッチ位置の周りにストロークアークを描画しようとすると問題が発生します。円を描くメソッドがあり、画面をタップしたときにタッチをテストして登録していますが、タップしたときに円を描くメソッドを呼び出そうとすると、「CGContextBlahBlah:無効なコンテキスト」というエラーが表示されます。 0x0 "
これは、drawRect :()でメソッドを呼び出していないためだと思います。
では、このメソッドをタッチで呼び出すにはどうすればよいですか?さらに、drawメソッドのパラメーターとして「CGPointlocationOfTouch」を使用するにはどうすればよいですか?
これが私が扱っているコードチャンクです。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint locationOfTouch = [touch locationInView:self];
[self drawTouchCircle:(locationOfTouch)];
[self setNeedsDisplay];
}
-(void)drawTouchCircle:(CGPoint)locationOfTouch
{
CGContextRef ctx= UIGraphicsGetCurrentContext();
CGContextSaveGState(ctx);
CGContextSetLineWidth(ctx,5);
CGContextSetRGBStrokeColor(ctx,0.8,0.8,0.8,1.0);
CGContextAddArc(ctx,locationOfTouch.x,locationOfTouch.y,30,0.0,M_PI*2,YES);
CGContextStrokePath(ctx);
}
助けてくれてありがとう!