Ios 使用imagePicker在每个UIImageView上显示单独的相机照片

Ios 使用imagePicker在每个UIImageView上显示单独的相机照片,ios,swift,uiimageview,Ios,Swift,Uiimageview,我有两个摄像头上传按钮,每个按钮旁边都有一个单独的UIImageView。我希望左上传将照片放置在左UIImageView中,右上传将照片放置在右UIImageView中。 问题是我无法区分每个图像,因此相同的图像显示在两个UIImageView上 @IBOutlet var imageTake: UIImageView! @IBOutlet var imageTake2: UIImageView! var imagePicker: UIImagePickerController! fun

我有两个摄像头上传按钮,每个按钮旁边都有一个单独的UIImageView。我希望左上传将照片放置在左UIImageView中,右上传将照片放置在右UIImageView中。

问题是我无法区分每个图像,因此相同的图像显示在两个UIImageView上

@IBOutlet var imageTake: UIImageView!
@IBOutlet var imageTake2: UIImageView!

var imagePicker: UIImagePickerController!

func takePhoto() {
    imagePicker =  UIImagePickerController()
    imagePicker.delegate = self as UIImagePickerControllerDelegate & UINavigationControllerDelegate
    imagePicker.sourceType = .camera
    present(imagePicker, animated: true, completion: nil)
}

@IBAction func uploadButton(_ sender: Any) {
takePhoto()
}


@IBAction func uploadButton2(_ sender: Any) {
takePhoto()
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    imagePicker.dismiss(animated: true, completion: nil)
    imageTake.image = info[UIImagePickerControllerOriginalImage] as? UIImage
    imageTake2.image = info[UIImagePickerControllerOriginalImage] as? UIImage

}
我认为我的问题在于,它将两个UIImageView设置为
info[UIImagePickerControllerOriginalImage]
,我认为这是错误的,但我不知道如何使该变量分别保存每张照片


任何帮助都将不胜感激

您不能同时拍摄两张照片。因此,只需使用实例属性
currentButton
。在您的
uploadButton
方法中,将
currentButton
设置为
sender
-按钮。在
did完成PickingMediaWithInfo
中,查看
currentButton
以查看它是哪个按钮。您知道它是哪个按钮,所以您知道要使用哪个图像视图。如果您为按钮和图像视图提供一个匹配的
标记
,这样您就可以立即知道哪个图像视图与哪个按钮匹配


因此,假设按钮1有标签
1
,图像视图1有标签
11
。按钮2有标签
2
,图像视图2有标签
12
。然后在
did完成PickingMediaWithInfo
,拉出
currentButton
,获取其
标签
,添加10,执行
viewWithTag
以找到该图像视图,并将图像插入其中。

不要重复代码。有一个通用的
takePhone
方法,可以从两个按钮处理程序调用。我写的答案完全相同!那正是我要做的@丹尼,还有一件事(不必要但有帮助)考虑把<代码>发件人<代码>从<代码> < <代码> > <代码> UIButton < /代码>。但是应该强调的是,这不是真正的“正确”方式。在异步过程中保持状态是很困难的。正确的做法是使用两个不同的
delegate
helper对象,每个对象与一个按钮图像视图对关联。但这只是留给读者的练习。:)谢谢你的帮助@matt。我不太明白这将如何转化为代码,我是swift的新手,因此我将尝试研究您的解决方案