我正在尝试创建一个简单的绘图应用程序,无论您将手指放在哪里,它都可以创建圆圈,这就是我所拥有的:
@synthesize touchPos;
@synthesize coords;
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
touchPos = [touch locationInView:self.view];
coords.text = [NSString stringWithFormat:@"%3.0f, %3.0f", touchPos.x, touchPos.y];
[self setNeedsDisplay];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[self touchesBegan:touches withEvent:event];
}
- (void)drawRect:(CGRect)rect
{
CGContextRef contextRef = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(contextRef, 2.0);
CGContextSetRGBFillColor(contextRef, 0, 0, 1.0, 1.0);
CGContextSetRGBStrokeColor(contextRef, 0, 0, 1.0, 1.0);
CGRect circlePoint = (CGRectMake(touchPos.x, touchPos.y, 10.0, 10.0));
CGContextFillEllipseInRect(contextRef, circlePoint);
}
我没有收到任何错误或警告,只是没有画任何东西。另外,文本框会显示我触摸的任何位置的坐标,因此我知道这不是问题。
最佳答案
该代码必须位于当前视图层次结构的一部分UIView子类中。