Ios UIGestureRecognitor删除应用LongPress的特定UIImageView

Ios UIGestureRecognitor删除应用LongPress的特定UIImageView,ios,uiimageview,uigesturerecognizer,Ios,Uiimageview,Uigesturerecognizer,我正在开发一个应用程序,在这个程序中,你可以从gallery向视图中添加不同的图像,你可以拖动它们,如果你长按某个图像,它应该会将其删除。将新导入的图像放置在CGRect中,然后对其应用拖动和长按功能。 我的问题来自我的删除代码,删除操作正常,但只删除最后插入的图像 self.myImageView = [[Draggable alloc]initWithFrame:cellRectangle]; [self.myImageView setImage:self.myImage]; [self.m

我正在开发一个应用程序,在这个程序中,你可以从gallery向视图中添加不同的图像,你可以拖动它们,如果你长按某个图像,它应该会将其删除。将新导入的图像放置在
CGRect
中,然后对其应用拖动和长按功能。

我的问题来自我的删除代码,删除操作正常,但只删除最后插入的图像

self.myImageView = [[Draggable alloc]initWithFrame:cellRectangle];
[self.myImageView setImage:self.myImage];
[self.myImageView setUserInteractionEnabled:YES];
[self.myImageView setTranslatesAutoresizingMaskIntoConstraints:YES];
[self.myImageView setPreservesSuperviewLayoutMargins:YES];

[self.customCam addSubview:self.myImageView];
这段代码将Dragable类分配给UIImageView,UIImageView用于在屏幕上拖动图像。下面是长按手势代码:

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(activateDeletionMode:)];
    longPress.delegate = self;
    longPress.minimumPressDuration = 1.0;
    [self.myImageView addGestureRecognizer:longPress];
activatedelectionmode
代码如下

- (void)activateDeletionMode:(UILongPressGestureRecognizer *)sender
{
        if (sender.state == UIGestureRecognizerStateBegan)
        {
            [self.myImageView removeFromSuperview];
            NSLog(@"This Runs");
        }
}

只要插入一个图像,它就可以正常工作。但是,如果我同时插入两个图像,它会删除最新插入的图像,并且不会对第二个图像执行
从SuperView中移除

您应该为每个图像视图添加新的长按手势。

每次添加新图像视图时,这一行
[self.myImageView addgestureRecognitor:longpress]向其添加新的长按手势。但是,如果添加了新控件,则该控件将转移到新控件。那么,如何才能使它为每个新的my imageview生成新的longpress?如果您创建一些imageview,则应该创建一个包含imageview的NSArray。因此,在imageView{UILongPressGestureRecognitizer*longPress=[[UILongPressGestureRecognitizer alloc]initWithTarget:self action:@selector(ActivateDeleteMode:)];[imageView AddGestureRecognitizer:longPress];}