我有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;
其中_selectedImage
为UIImageView *
类型的实例变量。
然后在imagePickerController
方法中,您可以执行:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
[picker dismissModalViewControllerAnimated:YES];
[_selectedImage setImage:image];
}