ios - UIImagePickerController: didFinishPickingMediaWithInfo 未被调用

标签 ios swift uiimageview uiimagepickercontroller

希望你们一切都好。想知道是否有人可以帮助我理解为什么 Xcode 不能很好地配合我....

我已将代码分解为以下部分,以便允许我从 UIImagePicker 中选择个人资料照片:

  1. WORKS:为 ImagePicker 和 NavigationController 分配委托(delegate)类
  2. 工作:实例化 UIImagePicker 变量
  3. WORKS:加载 ImagePickerViewController 并启用选择图像
  4. 失败:添加了用于使用 UIImagePicker 关闭和完成拾取的附加函数,但都没有被调用?我做错了什么?

提前致谢!


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

最佳答案

好的,我现在似乎可以使用它了,感谢您帮助确定代码是古老的;)现在运行的是:

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

关于ios - UIImagePickerController: didFinishPickingMediaWithInfo 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36073638/

相关文章:

swift - 在特定时间运行计时器(快速)

ios - 不能在动画 block 中更改隐藏属性

ios - 如何在 UIImageView 中获取缩放的 UIImage 的大小?

ios - 将 block 存储在参数数量不断变化的变量中

ios - 无法在 objective-c 中导入 c 文件

ios - Cordova iOS Filetransfer 下载文件到 www 文件夹

swift - 为什么 Swift Set 函数 为什么firstIndex(of : ) Apply?

ios - 适用于 iOS 的 Color Vignette Core Image 过滤器?

iphone - 无法移动我的角色

iphone - 单个 UIImage 多个 UIImageView?