Search code examples
iosuiimagepickercontroller

Can't picker Imageview2 in uiImageViewPickerController


i'm using the 4 UIImageView with UIImagePickerController. I want I use camera to take photo its present in imageview 1 and retake photo again I want to show in imageview 2 but the problem is if I retake the photo again also showing in Imageview1 only.

here my code

 @IBOutlet weak var CameraOutlet: UIButton!
 @IBOutlet weak var Complaint_Image1: UIImageView!
 @IBOutlet weak var Complaint_Image2: UIImageView!
 @IBOutlet weak var Complaint_Image3: UIImageView!
 @IBOutlet weak var Complaint_Image4: UIImageView!

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    dismiss(animated: true, completion: nil)
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    let picture = info[UIImagePickerControllerOriginalImage] as! UIImage
    Complaint_Image1.image = picture

    if Complaint_Image1 != nil {
        Complaint_Image2.image = picture
    }

    dismiss(animated: true, completion: nil)
}

Solution

  • Your logic should be:

    1. If image1.image has no image, then set that image
    2. Otherwise, set image2.image.

    These lines:

    Complaint_Image1.image = picture
    
    if Complaint_Image1 != nil {
        Complaint_Image2.image = picture
    }
    

    should be

    if Complaint_Image1.image != nil {
        Complaint_Image2.image = picture
    } else {
        Complaint_Image1.image = picture
    }