所以我有一个像照片库一样的应用程序,我正在实现用户删除图像的能力。这是设置:我有 9 个 UIImageView、imageView、imageView2 等。我还有一个“编辑”按钮和一个 tapGesture 操作方法。我将一个 Tap Gesture Recognizer 拖到我在 IB 中的视图上,并将其附加到每个 UIImageViews 上。我还将 tapGesture 操作方法附加到每个 UIImageViews。理想情况下,我希望该方法仅在按下“编辑”按钮时才变为活动状态。当用户点击编辑,然后点击他们要删除的图片时,我希望出现一个 UIAlertView,询问他们是否确定要删除它。这是我正在使用的代码:
- (IBAction)editButtonPressed:(id)sender {
editButton.hidden = YES;
backToGalleryButton.hidden = NO;
tapToDeleteLabel.hidden = NO;
}
- (IBAction)tapGesture:(UITapGestureRecognizer*)gesture
{
UIAlertView *deleteAlertView = [[UIAlertView alloc] initWithTitle:@"Delete"
message:@"Are you sure you want to delete this photo?"
delegate:self
cancelButtonTitle:@"No"
otherButtonTitles:@"Yes", nil];
[deleteAlertView show];
if (buttonIndex != [alertView cancelButtonIndex]) {
UIImageView *view = [self.UIImageView];
if (view) {
[self.array removeObject:view];
}
CGPoint tapLocation = [gesture locationInView: self.view];
for (UIImageView *imageView in self.view.subviews) {
if (CGRectContainsPoint(self.UIImageView.frame, tapLocation)) {
((UIImageView *)[self.view]).image =nil;
}
}
[self.user setObject:self.array forKey:@"images"];
}
}
这段代码显然充满了错误:这一行的“使用未声明的标识符按钮索引”:if (buttonIndex != [alertView cancelButtonIndex])
此行上的“在 PhotoViewController 类型的对象上找不到属性 UIImageView”UIImageView *view = [self.UIImageView];
和这一行的“预期标识符”((UIImageView *)[self.view]).image =nil;
我对编程很陌生,我很惊讶我能做到这一点。所以,我只是想弄清楚我需要如何编辑我的代码以使错误消失,并且只要点击 9 个图像视图之一就可以使用它,并且只有在首先按下编辑按钮。我之前使用标签,效果很好,但是我通过 NSData 保存图像,所以我不能再使用标签了。非常感谢任何帮助,谢谢!