Domanda

Ho 6 UiIMageViews ciascuno collegato a UipAngeSurerEcognizer e sono tutti collegati allo stesso metodo. Il metodo è:

- (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];
}

Sto seguendo il tutorial di Ray Wenderlich sull'uso di GesturerEcognizers. Quindi, mi chiedevo come rilevare le collisioni in modo che quando un'immagine si scontri con un'altra immagine, viene eseguito un po 'di codice. Il codice è diverso per ogni immagine.

Grazie

È stato utile?

Soluzione

Se vuoi spostare l'immagine con il riconoscimento, forse dovresti allegare il riconoscimento alla tua vista.

Appartenente a questo, il modo più veloce per farlo, è (nel metodo che cambia il frame su uiimageview)

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

_selectedImageView è l'immagine che ti muovi e _imageArray è un array che contiene tutto il tuo UiIMageView (nel tuo caso sono 6).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top