我正在开发一个应用程序,您可以在其中将不同的图像从图库添加到视图中,您可以拖动它们,如果您长按图像,则应将其删除。新导入的图像放在CGRect
中,然后将drag和longpress的功能应用于它。
我的问题来自我的删除代码,删除工作正常但只删除最后插入的图像。
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];
此代码将可拖动类分配给UIImageView,后者用于在屏幕上拖动图像。以下是长按手势代码:
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(activateDeletionMode:)];
longPress.delegate = self;
longPress.minimumPressDuration = 1.0;
[self.myImageView addGestureRecognizer:longPress];
和activateDeletionMode
代码位于
- (void)activateDeletionMode:(UILongPressGestureRecognizer *)sender
{
if (sender.state == UIGestureRecognizerStateBegan)
{
[self.myImageView removeFromSuperview];
NSLog(@"This Runs");
}
}
只插入一个图像就可以了。但是,如果我同时插入2张图像,则删除最新插入的图像,并且没有在第二张图像上执行removeFromSuperview
。
答案 0 :(得分:0)
您应该为每个imageView添加一个新的长按手势。