UIImagePickerController: didFinishPickingMediaWithInfo not called

I hope you are doing well. I wonder if anyone can help me figure out why Xcode doesn't play well with me ....

I partitioned the code below to allow me to select a profile photo from UIImagePicker:

  • WORKS: Assigning a delegate class to ImagePicker and NavigationController
  • WORKS: Creating an instance of the UIImagePicker variable
  • WORKS: Download ImagePickerViewController and enable image selection
  • FAILS: Added additional functions for closing and completing selections using UIImagePicker, but never called? What did I do wrong?

Thanks in advance!


class ProfileVC: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
var imagePicker: UIImagePickerController!

override func viewDidLoad() {
    super.viewDidLoad()

    imagePicker = UIImagePickerController()
    imagePicker.delegate = self
}

@IBAction func selectPhotoPressed(sender: UITapGestureRecognizer) {
    if UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary) {
        self.imagePicker.sourceType = .PhotoLibrary
    } else {
        self.imagePicker.sourceType = .Camera
    }
    imagePicker.allowsEditing = true
    imagePicker.mediaTypes = [kUTTypeImage as String]
    self.presentViewController(imagePicker, animated: true, completion: nil)
}

func imagePickerControllerDidCancel(picker: UIImagePickerController) {
    self.dismissViewControllerAnimated(true, completion: nil)
}

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo image: UIImage, editingInfo: [String : AnyObject]?) {
    headerView.profilePhoto.contentMode = .ScaleAspectFill
    headerView.profilePhoto.image = image
    imagePicker.dismissViewControllerAnimated(true, completion: nil)
    uploadImage(image)
}
+4
source share
3

, , , , ;) :

    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    let image = info[UIImagePickerControllerOriginalImage] as? UIImage
    headerView.profilePhoto.contentMode = .ScaleAspectFit
    headerView.profilePhoto.image = image
    imagePicker.dismissViewControllerAnimated(true, completion: nil)
    uploadImage(image!)
}
+4

, , . :

func imagePickerController(picker: UIImagePickerController,
          didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    // Your code
}
+2

, dofinishpickingmediawithinfo swift 3, ios 10,

func imagePickerController(picker: UIImagePickerController,
          didFinishPickingMediaWithInfo info: [String : AnyObject]) 
{
    imageView.image =  info[UIImagePickerControllerOriginalImage] as? UIImage
}
0

All Articles