2011-12-03 63 views
1

我有6個UIImageViews每個連接到UIPanGestureRecognizer,他們都連接到相同的方法。方法是:UIPanGestureRecognizer碰撞

- (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

如果你想移動與識別圖像也許你應該識別器連接到您的視圖。

屬於此,要做到這一點的最快的方法,是(在你的UIImageView改變幀的方法)

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

_selectedImageView是,你正在移動並_imageArray的圖像是包含數組你所有的UIImageView(在你的情況是6)。