Objective c 点击UIImageView时打开UIImagePicker

Objective c 点击UIImageView时打开UIImagePicker,objective-c,xcode,uiimageview,uibutton,uiimagepickercontroller,Objective C,Xcode,Uiimageview,Uibutton,Uiimagepickercontroller,当用户点击UIImageview时,我需要允许用户添加源类型相机或照片库中的照片 我不想通过单击uiimagepicker按钮来显示uiimagepicker控制器,我想允许用户通过点击imageview来添加它 我怎样才能做到这一点?我是否应该将按钮添加到imageview中,当点击发生时,显示一个带有按钮照相机和照片库的操作表,当用户从操作表中选择两个按钮中的一个,允许他将照片添加到uiimageview中时?您仍然可以使用UIButton,只需将该按钮的视图设置为所需的图像即可 UIBut

当用户点击UIImageview时,我需要允许用户添加源类型相机或照片库中的照片

我不想通过单击uiimagepicker按钮来显示uiimagepicker控制器,我想允许用户通过点击imageview来添加它


我怎样才能做到这一点?我是否应该将按钮添加到imageview中,当点击发生时,显示一个带有按钮照相机和照片库的操作表,当用户从操作表中选择两个按钮中的一个,允许他将照片添加到uiimageview中时?

您仍然可以使用UIButton,只需将该按钮的视图设置为所需的图像即可

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0,0,100,100); //edit for you own frame
UIImage *img = [UIImage imageNamed:@"myimage.png"];
[button setImage:img forState:UIControlStateNormal];

这将允许您使用图像作为按钮

@Amit Shah有正确的答案-你应该使用按钮

但是,如果出于某种原因必须使用UIImageView(听起来不像),则可以将UIImageView子类化,并覆盖ToucheSStart/touchesEnded方法:


谢谢您的回复。我不想为UIbutton设置图像。我可以将图像设置为默认的imageview而不是按钮,比如说addphoto.jpg,当我点击它时,actionsheet会弹出选项,如拍摄照片或选择照片。然后,应使用用户拍摄的图像更新imageview。当imageview用新图片更新时,图像上会出现一个“编辑照片”的标签,这样当我再次点击imageview时,操作表就会弹出。如果没有选择任何内容,imageview应该有一个addemployee.jpg,这是默认的图像。我不明白你为什么不想使用按钮,它简单得多,而且它是为什么而构建的。但是说你可以使用手势识别器。这篇文章展示了一个使用夹点的例子,但这是同一个过程,你也可以按照你喜欢的方式查看图像,但在顶部放置一个按钮,它会响应点击。你说得对,我们也可以按照你说的方式进行。但我的要求就像我要求的那样。不管怎么说,我还是能找到它。我在imagevew中添加了一个默认img,并在其中添加了guesture识别器。我所需要的只是当我点击它时,旧的需要替换为新的。我甚至不需要向它添加开始触摸和结束触摸的方法。无论如何,再次感谢你的帮助。