UIPanGestureRecognizer Collision - PullRequest
       6

UIPanGestureRecognizer Collision

1 голос
/ 03 декабря 2011

У меня есть 6 UIImageView, каждый из которых подключен к 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];
}

Я следую руководству Рэя Вендерлиха по использованию GestureRecognizer.Итак, мне было интересно, как обнаружить коллизии, чтобы при столкновении одного изображения с другим выполнялся какой-то код.Код отличается для каждого изображения.

Спасибо

1 Ответ

2 голосов
/ 07 декабря 2011

Если вы хотите переместить изображение с помощью распознавателя, возможно, вам следует прикрепить распознаватель к вашему виду.

В соответствии с этим, самый быстрый способ сделать это (в методе, который изменяет кадр в вашем UIImageView)

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

_selectedImageView - это изображение, которое вы перемещаете, а _imageArray - это массив, который содержит весь ваш UIImageView (в вашем случае это 6).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...