2012-03-28 58 views
1
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 

UITouch *touch = [touches anyObject]; 

CGPoint currentPoint = [touch locationInView:self.view]; 

NSLog("%f %f",currentPoint.x,currentPoint.y); 
} 

我想开发我的iPad涂料应用。 当我使用这些代码,并使用手指画上我的焊盘上的线, 它的打印 (X,1),(X,3),(X,6),(X 7),(X,12) ,(x,15),(x,18)...touchesMoved继续点?

在我看来,它应该打印 (x,1),(x,2),(x,3),(x,4 ),(X,5),(X,6),(X,7),(X,8),(X,9),(X,10),(X,11),(X,12), (x,13),(x,14),(x,15),(x,16),(x,17),(x,18)....

touchesMoved无法获得继续坐标?

回答

2

这取决于你刷的速度。 如果你轻扫很慢,你可能会得到(X,1),(X,2),(X,3),(X,4),(X,5),(X,6),(X, (x,8),(x,9),(x,10),但如果快速滑动,则可以获得与(x,1),(x,5),(x,10)一样少的值。

如果你正在开发一个应用程序的油漆你将不得不考虑,如果用户还没有解除他的手指和油漆点之间的线,如果他还没有。

祝你好运!

+0

如果我得到(1,1),(10,5),(1,10),我在屏幕上绘制的线条看起来并不smart.user也许要画一个弧线,但我画一条线屏幕上。 – wendli 2012-03-28 13:33:32

+0

不要忘记,这个数字是像素,如果你快速滑动你可能会跳过一些,但不足以使弧看起来像一条线。您可以检查iPhone应用程序“笔迹”(也运行在iPad上,它是免费的),看看当你刷卡真快时出现的效果。 – Zalykr 2012-03-28 13:54:19