UIImagePickerController didFinishPickingImage没有在Swift 3中调用

Joe*_*Joe 6 uiimagepickercontroller swift

我正在尝试使用imagePickerView从照片库加载图像.我更新了我的plist以获取Xcode 8的照片库,如下所示.

在此输入图像描述

之后,更新了plist.I可以访问照片库.但是,Picker图像没有加载到我的imageView.

我的代码:

注意: 下面的代码用于Xcode 7而不是Xcode 8?

   import UIKit

   class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {

   let imagePicker = UIImagePickerController()
   @IBOutlet weak var imageView: UIImageView!

   override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
        imagePicker.delegate = self
   }

   @IBAction func library(_ sender: UIButton) {

    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.photoLibrary) {
        imagePicker.delegate = self
        imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary;
        imagePicker.allowsEditing = true
        self.present(imagePicker, animated: true, completion: nil)
     }
   }
Run Code Online (Sandbox Code Playgroud)

代码更新:来自rmaddy回答:

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
       if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
          imageView.image = image
     }
       picker.dismiss(animated: true, completion: nil);
    }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

提前致谢....

rma*_*ddy 18

在Swift 3中,您需要使用正确的委托方法:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
        imageView.image = image
    }

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