UIPANGESTUREER ECOGNISCHER KOLLISION
-
27-10-2019 - |
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
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).