Frage

Ich habe 6 UIImageviews, die jeweils mit Uipangesturerecognizer verbunden sind, und sie sind alle mit derselben Methode verbunden. Die Methode ist:

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

Ich folge Ray Wenderlichs Tutorial über die Verwendung von Gesturterecognizers. Ich habe mich also gefragt, wie man Kollisionen erkennt, damit ein Bild mit einem anderen Bild kollidiert, ein Code ausgeführt wird. Der Code ist für jedes Bild unterschiedlich.

Vielen Dank

War es hilfreich?

Lösung

Wenn Sie das Bild mit dem Erkenntnis verschieben möchten, sollten Sie den Erkenner Ihrer Ansicht möglicherweise anschließen.

Zu diesem Zeitpunkt ist der schnellste Weg, dies zu tun, (in der Methode, die den Rahmen an Ihrem UIImageview verändert)

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

_selectedImageView ist das Bild, das Sie sich bewegen und _imageArray ist ein Array, das alle Ihre UIImageView enthält (in Ihrem Fall sind 6).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top