UIPanGestureRecognizer 碰撞
Posted
技术标签:
【中文标题】UIPanGestureRecognizer 碰撞【英文标题】:UIPanGestureRecognizer Collision 【发布时间】:2011-12-03 17:37:05 【问题描述】:我有 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];
我正在关注 Ray Wenderlich 关于使用 GestureRecognizers 的教程。所以,我想知道如何检测碰撞,以便当一个图像与另一个图像碰撞时,运行一些代码。每张图片的代码都不同。
谢谢
【问题讨论】:
你解决了这个问题吗? @SAPDEV 是的,我使用了下面的答案。 【参考方案1】:如果您想使用识别器移动图像,也许您应该将识别器附加到您的视图。
属于这个,最快的方法是(在你的 UIImageView 改变框架的方法中)
for (UIImageView *iv in _imageArray)
if (CGRectIntersectsRect(iv.frame, _selectedImageView.frame))
NSLog(@"Collision");
_selectedImageView
是您正在移动的图像,_imageArray
是一个包含所有 UIImageView 的数组(在您的情况下是 6 个)。
【讨论】:
以上是关于UIPanGestureRecognizer 碰撞的主要内容,如果未能解决你的问题,请参考以下文章
在 UIButtons 上禁用 UIPanGestureRecognizer
如何在父视图中限制 UIPanGestureRecognizer