具有不同按钮的一个视图控制器中的多个图像上传(iOS,Xcode9,Swift4)

时间:2018-05-17 10:04:04

标签: ios iphone swift4 xcode9.3

这里有4个UIImageView,每个按钮有4个按钮用于图像上传。当用户点击每个按钮时,我无法修复相应的图像必须上传。意味着当用户单击后退按钮时,必须上载适当的图像。我附上了我的快速代码,请帮忙修复

 var imagePicker = UIImagePickerController()
 var imagePicked = 0

@IBOutlet weak var adImage1: UIImageView!
@IBOutlet weak var adImage2: UIImageView!
@IBOutlet weak var adImage3: UIImageView!
@IBOutlet weak var adImage4: UIImageView!

 @IBAction func uploadImage1(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            let imagePicker = UIImagePickerController()
            imagePicker.delegate = self
            imagePicker.sourceType = .photoLibrary;
            imagePicker.allowsEditing = true
            self.present(imagePicker, animated: true, completion: nil)
        }
    }

    @IBAction func uploadImage2(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            let imagePicker1 = UIImagePickerController()
            imagePicker1.delegate = self
            imagePicker1.sourceType = .photoLibrary;
            imagePicker1.allowsEditing = true
            self.present(imagePicker1, animated: true, completion: nil)
        }     }
    @IBAction func uploadImage3(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            let imagePicker2 = UIImagePickerController()
            imagePicker2.delegate = self
            imagePicker2.sourceType = .photoLibrary;
            imagePicker2.allowsEditing = true
            self.present(imagePicker2, animated: true, completion: nil)
        }  }
    @IBAction func uploadImage4(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            let imagePicker3 = UIImagePickerController()
            imagePicker3.delegate = self
            imagePicker3.sourceType = .photoLibrary;
            imagePicker3.allowsEditing = true
            self.present(imagePicker3, animated: true, completion: nil)
        }  }


     internal func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])
     {
         let imagePicker = info[UIImagePickerControllerOriginalImage] as? UIImage
        if imagePicked == 1 {
       adImage1.image = imagePicker
        }
     else if imagePicked == 2
            {
                adImage2.image = imagePicker
            }
            else if imagePicked == 3

                {
                    adImage3.image = imagePicker
                }
              else if imagePicked == 4
                    {
                        adImage4.image = imagePicker
                 }                    else
                    {
                       // Error message
}
         self.dismiss(animated: true, completion: nil)
    }
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true)
    }

1 个答案:

答案 0 :(得分:0)

更改按钮IBaction代码以根据按钮单击设置拾取的图像,以便您的代码像魅力一样工作

@IBAction func uploadImage1(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            imagePicked = 1
            let imagePicker = UIImagePickerController()
            imagePicker.delegate = self
            imagePicker.sourceType = .photoLibrary;
            imagePicker.allowsEditing = true
            self.present(imagePicker, animated: true, completion: nil)
        }
    }

    @IBAction func uploadImage2(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            imagePicked = 2
            let imagePicker1 = UIImagePickerController()
            imagePicker1.delegate = self
            imagePicker1.sourceType = .photoLibrary;
            imagePicker1.allowsEditing = true
            self.present(imagePicker1, animated: true, completion: nil)
        }
    }
    @IBAction func uploadImage3(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            imagePicked = 3
            let imagePicker2 = UIImagePickerController()
            imagePicker2.delegate = self
            imagePicker2.sourceType = .photoLibrary;
            imagePicker2.allowsEditing = true
            self.present(imagePicker2, animated: true, completion: nil)
        }
    }
    @IBAction func uploadImage4(_ sender: Any) {
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            imagePicked = 4
            let imagePicker3 = UIImagePickerController()
            imagePicker3.delegate = self
            imagePicker3.sourceType = .photoLibrary;
            imagePicker3.allowsEditing = true
            self.present(imagePicker3, animated: true, completion: nil)
        }
    }