Ios UILongPressGestureRecognitor绑定仅适用于UIImageView

Ios UILongPressGestureRecognitor绑定仅适用于UIImageView,ios,objective-c,uiimageview,uiimage,uigesturerecognizer,Ios,Objective C,Uiimageview,Uiimage,Uigesturerecognizer,我正在开发一个基于增强现实的iOS应用程序。它要做的是,用户将通过UISlider设置他和墙的距离。然后他会从画廊里挑选一幅画,看看它在墙上会是什么样子。应用程序应该根据用户离墙壁的距离缩放UIImage,用户可以拖动它来查看它在墙上的外观 我想在添加的UIImage上应用UILongPressGestureRecognitor,以便将其删除,即点击按住并删除。这是我应用于导入图像的代码,该图像已存在于我的库中。我稍后将从库中导入: self.myImage = [UIImage imageNa

我正在开发一个基于增强现实的iOS应用程序。它要做的是,用户将通过UISlider设置他和墙的距离。然后他会从画廊里挑选一幅画,看看它在墙上会是什么样子。应用程序应该根据用户离墙壁的距离缩放UIImage,用户可以拖动它来查看它在墙上的外观

我想在添加的UIImage上应用UILongPressGestureRecognitor,以便将其删除,即点击按住并删除。这是我应用于导入图像的代码,该图像已存在于我的库中。我稍后将从库中导入:

self.myImage = [UIImage imageNamed:@"myimage.png"];
self.myImageView = [[UIImageView alloc] initWithImage:self.myImage];
self.myImageView.userInteractionEnabled = YES;
CGRect cellRectangle;
self.myImageView.contentMode = UIViewContentModeScaleAspectFit;
cellRectangle = CGRectMake(0, 0, self.myImage.size.width/5, self.myImage.size.height/5);
对于UILongPressGestureRecognitor,以下是代码:

  self.lpgr = [[UILongPressGestureRecognizer alloc]
                                      initWithTarget:self action:@selector(handleLongPressGestures:)];
self.lpgr.minimumPressDuration = 2.0; //seconds
self.lpgr.accessibilityFrame = cellRectangle;

[self.customCam addGestureRecognizer:self.lpgr];
其中customCam是为AR显示摄像头的视图

 - (void)handleLongPressGestures:(UILongPressGestureRecognizer *)sender
{
    if ([sender isEqual:self.lpgr]) {
        if (sender.state == UIGestureRecognizerStateBegan)
        {
            CGPoint p = [self.lpgr locationInView:self.myImageView];
            NSLog(@"TapLong Run on points %@",NSStringFromCGPoint(p));
        }
    }
}
此代码的问题在于它将UILongPressGestureRecognitor应用于所有customCam视图

如何将其绑定到myImageView中。 我也尝试过这样做:

[self.myImageView addGestureRecognizer:self.lpgr];

但这不起作用,我还添加了self.myImageView.userInteractionEnabled=YES

添加了[self.customCam addgestureRecognitor:self.myImageView];首先在自定义视图中添加图像视图,然后在myImageview中添加self.lpgr。
替换此行[self.customCam addgestureRecognitor:self.lpgr];由此


[myImageView addgestureRecognitor:self.lpgr];然后尝试

[self.customCam addgestureRecognitor:self.lpgr];你被添加到这里,保留这一个自己。myImageView@Balu我试过这个,但那时候什么也没用。如果条件允许,它永远无法实现“HandleLongPress手势”功能!但在customCam上是这样的。我想的是设置另一个if条件,如果手势坐标在UIImageView坐标范围内,那么它将执行动作。你能帮我吗?试过了但没用。没有错误,但代码没有运行“HandleLongPressPictures”方法的功能。调用HandleLongPressPictures?通过添加此行“[self.customCam AddgestureRecognitizer:self.myImageView];”按照你说的替换另一条线路。我收到了“无法识别的选择器发送到实例”的警告,但它没有显示图像。似乎customCam层位于myImageView层之上。看看这个谢谢你的帮助:我已经解决了这个问题。