2010-01-18 97 views

回答

3

是的。查看UIView命名爲touches*的方法,具體爲:

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event 

它被檢測到移動(?「幻燈片」)時調用,並且不會被多個快速觸摸被「愚弄」遭殃。你可以在視圖中的當前手指位置和活動內容時發生的時間座標:

UITouch *touch = [touches anyObject]; 
CGPoint inFrameCoordinate = [touch locationInView:self]; 
NSTimeInterval timestamp = [touch timestamp] 

得到兩個座標之間的距離和時間來計算的速度。

0

那麼,UITouch有位置和時間戳的屬性;使用這些屬性,可以計算兩次觸摸事件之間的觸摸「速度」。

這隻適用於單次觸摸,當然,您可能需要平滑結果。此外,用戶可能能夠通過用兩個手指交替快速點擊來「愚弄」你;-)

相關問題