2012-03-28 57 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