Ios UIImagePickerController:didFinishPickingMediaWithInfo未被调用

Ios UIImagePickerController:didFinishPickingMediaWithInfo未被调用,ios,swift,uiimageview,uiimagepickercontroller,Ios,Swift,Uiimageview,Uiimagepickercontroller,希望你们都做得很好。不知道是否有人能帮我理解为什么Xcode不能很好地与我相处 为了从UIImagePicker中选择个人资料照片,我将代码分为以下几节: 工作:为ImagePicker和NavigationController分配委托类 工作:实例化UIImagePicker变量 工作:加载ImagePickerViewController并启用以选择图像 失败:添加了附加功能,用于使用UIImagePicker关闭和完成拾取,但从未调用过?我做错了什么 提前谢谢 您的签名有误,但由于

希望你们都做得很好。不知道是否有人能帮我理解为什么Xcode不能很好地与我相处

为了从UIImagePicker中选择个人资料照片,我将代码分为以下几节:

  • 工作:为ImagePicker和NavigationController分配委托类
  • 工作:实例化UIImagePicker变量
  • 工作:加载ImagePickerViewController并启用以选择图像
  • 失败:添加了附加功能,用于使用UIImagePicker关闭和完成拾取,但从未调用过?我做错了什么
  • 提前谢谢






    您的签名有误,但由于这是一个可选方法,因此不会收到警告。应该是:

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

    好的,我现在似乎已经开始工作了,谢谢你帮助我确定代码是古老的;)现在运行的是:

        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!)
    }
    

    正如大家所建议的,使用didfinishpickingmediawithinfo方法,在swift 5,iOS 13中提取图像,使用信息字典

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

    好的,很酷,但如果是这样,我如何将UIImagePicker图像应用到我的UIImageView?感谢您的快速回复!很高兴你让它工作了。我也会更新我的答案,因为我注意到我的签名也有点错误(在你的签名中它是正确的)。值得注意的是,
    UIImagePickerControllerOriginalImage
    会像上面说的那样,为你提供原始图像,不包括用户可能做的任何编辑或修改。为此,您可以使用
    UIImagePickerControllerEditedImage
    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)
    }
    
    func imagePickerController(picker: UIImagePickerController,
              didFinishPickingMediaWithInfo info: [String : AnyObject]) {
        // Your code
    }
    
        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!)
    }
    
    func imagePickerController(picker: UIImagePickerController,
                               didFinishPickingMediaWithInfo info: [String : AnyObject]) {
      imageView.image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage
    }