2011-08-09 2 views
0

私はUIImageViewを持っており、ドラッグがいつ実行されたか、そのドラッグが起点からどのくらい離れているかを調べようとしています。私は現在これを持っています:ドラッグポイントまでの距離を確認する

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
UITouch *touch = [touches anyObject]; 
CGPoint location = [touch locationInView:touch.view]; 

if(CGRectContainsPoint(myimage.frame, location) == 0){ 

} 
else 
{ //user didn't tap inside image} 

画像自体は移動しませんが、人は指を持って画像をクリックしてから指をドラッグできます。私はちょうどドラッグ距離を決定しようとしています。

答えて

3

距離を計算する場合は、ユーザーが画像をタップした場合、その点(どこかに格納してください)をtouchesBeganに覚えておく必要があります。 touchesMovedまたはtouchesEndで、現在のポイントを取得し、元のポイントまでの距離を計算することができます。

あなたはUIImageView原点からの距離を取得する必要がある場合は、[touch locationInView:myImage];

を呼び出すことができると私はあなたが自分でタッチを扱うのではなく、UIGestureRecognizerクラスを使用することをお勧めします。彼らは実装が簡単です。

関連する問題