新程序员来了。我在尝试使用 Core Graphics 在我的触摸位置周围绘制描边弧时遇到问题。我有绘制圆圈的方法工作正常,并且我已经测试并在点击屏幕时注册了触摸,但是当我尝试在点击时调用绘制圆圈的方法时,我收到错误“CGContextBlahBlah:无效上下文0x0"
我认为这是因为我没有在 drawRect:() 中调用该方法。
那么我怎样才能通过触摸调用这个方法呢?此外,如何在我的绘图方法中使用“CGPoint locationOfTouch”作为参数?
这是我正在使用的代码块。
-(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);
}
在此先感谢您的帮助!