Uipangesturerecognizer Collision
-
27-10-2019 - |
Вопрос
У меня есть 6 uiimageviews, каждый из которых подключен к 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];
}
Я следую учебному пособию Рэя Вендерлиха по использованию GesturereCogniceers. Итак, мне было интересно, как обнаружить столкновения, чтобы, когда одно изображение сталкивается с другим изображением, запускается какой -то код. Код отличается для каждого изображения.
Спасибо
Решение
Если вы хотите переместить изображение с распознавателем, возможно, вам следует прикрепить распознаватель к вашему виду.
Принадлежит к этому, самый быстрый способ сделать это, это (в методе, который изменяет кадр на вашем Uiimageview)
for (UIImageView *iv in _imageArray){
if (CGRectIntersectsRect(iv.frame, _selectedImageView.frame)) {
NSLog(@"Collision");
}
}
_selectedImageView
это изображение, которое вы двигаетесь и _imageArray
это массив, который содержит все ваши Uiimageview (в вашем случае 6).