Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIImagePickerController didFinishPickingImage not calling in Swift 3

I am trying to load an image from photo library using imagePickerView. I, updated my plist to get access to photo library as below for Xcode 8.

enter image description here

After, Updated plist.I can get access to photo library. But,Picker image not loading to my imageView.

My code:

Note: Below code use to work in Xcode 7 not in 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)
     }
   }

Code updated: from rmaddy answer:

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

enter image description here

Thanks in Advance....

like image 623
Joe Avatar asked Oct 18 '16 15:10

Joe


1 Answers

In Swift 3 you need to use the proper delegate method:

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

    picker.dismiss(animated: true, completion: nil);
}
like image 172
rmaddy Avatar answered Jan 04 '23 05:01

rmaddy