如何在imagePickerController中获取Imageview标签来更新正确的Imageview



我有6个带有标签的Imageviews。在imageview上点击一下,我调用UIActionSheet来显示按钮"拍照"&"选择图片"。这一切都很好。在imagePickerController中,我最终设置了选定的图像,我如何知道哪个Imageview更新图片。请让我知道如何通过我的标签值来更新正确的选中的图像。

这是我的代码。

viewDidLoad

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc]
                                             initWithTarget:self
                                             action:@selector(tappedImage:)];
tapGestureRecognizer.numberOfTapsRequired = 1;
[self.photo1 addGestureRecognizer:tapGestureRecognizer];
[self.photo2 addGestureRecognizer:tapGestureRecognizer];
[self.photo3 addGestureRecognizer:tapGestureRecognizer];
[tapGestureRecognizer setDelegate:self];

tappedImage

- (void)tappedImage:(UIGestureRecognizer *)sender {
{
    UIActionSheet *actionSheet = [[UIActionSheet alloc]
                              initWithTitle:@"Add a Picture"
                              delegate:self
                              cancelButtonTitle:@"Cancel"
                              destructiveButtonTitle:nil
                              otherButtonTitles:@"Take Picture",@"Select Picture", nil];
            [actionSheet showInView:self.view];
}

}

imagePickerController

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
[picker dismissModalViewControllerAnimated:YES];
[photo1 setImage:image];

}

目前所有的图片都被设置为Photo1 Imageview。

在类中添加一个实例变量来存储所选图像。然后在你的tappedImage:方法中,你做:

_selectedImage = (UIImageView *)sender.view;

其中_selectedImageUIImageView *类型的实例变量。

然后在imagePickerController方法中,您可以执行:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    [picker dismissModalViewControllerAnimated:YES];
    [_selectedImage setImage:image];
}

最新更新