Swift 3 - 无法覆盖'imagePickerController'

Etg*_*gar 0 xcode uiimagepickercontroller swift swift3 xcode8

我的代码:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
    self.image = image
    self.imageStatusLabel.text = "There is a picture"
    self.imageStatusLabel.textColor = UIColor.blue()

    picker.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

这是错误:

无法覆盖已标记为不可用的'imagePickerController':从iOS 7及更早版本中弃用的API在Swift中不可用

好吧,我试过使用更新的功能:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    // But no image in the parameters
}
Run Code Online (Sandbox Code Playgroud)

但是,参数中没有图像,我可以得到图像.
我该怎么办?

Kai*_*ato 11

你必须使用info参数并进行强制转换UIImage.不要忘记你必须在文件中加上一个" Privacy - Photo Library Usage Description"和" Privacy - Camera Usage Description",info.plist并用一个字符串填充值,说明请求访问照片库和相机的原因.

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
        pictureImageView.contentMode = .scaleToFill
        pictureImageView.image = pickedImage
    }

    picker.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)