即使 allowsEditing 为真,editingInfo 中也没有 UIImagePickerControllerEditedImage
There is no UIImagePickerControllerEditedImage in editingInfo even when allowsEditing is true
我正在尝试从 UIImagePickerController 获取编辑后的图像,但 editingInfo 字典中没有 UIImagePickerControllerEditedImage 键。怎么了?
let pickerController = UIImagePickerController()
pickerController.delegate = self
pickerController.allowsEditing = true
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) {
pickerController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
self.presentViewController(pickerController, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
println(editingInfo)
if let editedImage = editingInfo[UIImagePickerControllerEditedImage] as? UIImage {
}
}
editingInfo 输出
[UIImagePickerControllerOriginalImage: <UIImage: 0x7f8f15a1f0e0> size {1500, 1001} orientation 0 scale 1.000000, UIImagePickerControllerCropRect: NSRect: {{994, 514}, {501, 487}}, UIImagePickerControllerReferenceURL: assets-library://asset/asset.JPG?id=900A4F75-A88F-4332-AAC8-2BD3A2B1514A&ext=JPG]
您正在使用 func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!)
,它已被弃用。
改用func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
!
希望这有效:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
self.imageView.image = info[UIImagePickerControllerEditedImage] as? UIImage
self.dismissViewControllerAnimated(true, completion: nil)
}
我正在尝试从 UIImagePickerController 获取编辑后的图像,但 editingInfo 字典中没有 UIImagePickerControllerEditedImage 键。怎么了?
let pickerController = UIImagePickerController()
pickerController.delegate = self
pickerController.allowsEditing = true
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) {
pickerController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
self.presentViewController(pickerController, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
println(editingInfo)
if let editedImage = editingInfo[UIImagePickerControllerEditedImage] as? UIImage {
}
}
editingInfo 输出
[UIImagePickerControllerOriginalImage: <UIImage: 0x7f8f15a1f0e0> size {1500, 1001} orientation 0 scale 1.000000, UIImagePickerControllerCropRect: NSRect: {{994, 514}, {501, 487}}, UIImagePickerControllerReferenceURL: assets-library://asset/asset.JPG?id=900A4F75-A88F-4332-AAC8-2BD3A2B1514A&ext=JPG]
您正在使用 func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!)
,它已被弃用。
改用func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
!
希望这有效:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
self.imageView.image = info[UIImagePickerControllerEditedImage] as? UIImage
self.dismissViewControllerAnimated(true, completion: nil)
}