如何通过覆盖方法“drawRect”来移动在UIView的子类中绘制的圆?

时间:2010-05-07 14:24:57

标签: objective-c

我正在试图弄清楚我做错了什么,但我只是不明白。这是我想要做的:

我想在iPhone的屏幕上绘制一个圆圈,然后我希望圆圈始终显示在用户当前点击屏幕的位置。 我首先创建了UIView的子类,并将以下行添加到“drawRect”方法中:

- (void)drawRect:(CGRect)rect {

//Create the main view!

 CGContextRef mainscreen = UIGraphicsGetCurrentContext();

 //Draw the dot
 //will be a circle cause rectangle is a square
 CGRect dotRect = CGRectMake(50, 80, 100, 100);
 [[UIColor blueColor] set];
 CGContextStrokeEllipseInRect(mainscreen, dotRect);
 CGContextFillEllipseInRect(mainscreen, dotRect);

}

看起来很好但是现在我不知道如何让它在屏幕上移动我已经尝试了几件事并且没有任何效果。

1 个答案:

答案 0 :(得分:1)

要在其他位置绘制点,请更改dotRect的原点。要确定绘制位置,请实施-touchesBegan:withEvent:-touchesMoved:withEvent:并记录触摸所在的位置。