2011-12-03 14 views
1

私はUIPanGestureRecognizerにそれぞれ6つのUIImageViewを接続していますが、それらはすべて同じメソッドに接続されています。方法は:UIPanGestureRecognizer Collision

- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer { 

CGPoint translation = [recognizer translationInView:self.view]; 
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, 
            recognizer.view.center.y + translation.y); 
[recognizer setTranslation:CGPointMake(0, 0) inView:self.view]; 
} 

私はGestureRecognizersの使用に関するRay Wenderlichのチュートリアルに従っています。そこで、私はどのように衝突を検出して、ある画像が別の画像と衝突したときに、いくつかのコードが実行されるようにすることを考えていました。コードは画像ごとに異なります。あなたは、認識して画像を移動したい場合は

おかげ

+0

この問題を修正しましたか? –

+0

@SAPDEVはい、私は以下の答えを使用しました。 –

答えて

2

は、多分あなたは、あなたのビューに認識器を添付してください。これに属する

は、これを行うための最速の方法は、

for (UIImageView *iv in _imageArray){ 
    if (CGRectIntersectsRect(iv.frame, _selectedImageView.frame)) { 
     NSLog(@"Collision"); 
    } 
} 

_selectedImageViewはあなたが動いて_imageArrayされている画像である(あなたのUIImageViewのフレームを変更する方法で)であること含む配列ですすべてのUIImageView(あなたのケースでは6)です。