[英]Error with UIImagePickerController in XCODE 9
when I execute mi code it show an error: 当我执行mi代码时,显示错误:
errors encountered while discovering extensions: Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled} 发现扩展名时遇到的错误:错误Domain = PlugInKit代码= 13“查询已取消” UserInfo = {NSLocalizedDescription =查询已取消}
This happens when I select a photo from the library or when I cancel from the library, the problem is that the photo appears but it is not assigned to the variable. 当我从图库中选择照片或从图库中取消照片时,会发生这种情况,问题是出现了照片但未将其分配给变量。
My Code: 我的代码:
class DetalleShopViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var imageDetalle: UIImageView!
@IBOutlet weak var textFieldDetalle: UITextField!
@IBOutlet weak var saveBtn: UIBarButtonItem!
var shops: [NSManagedObject] = []
override func viewDidLoad() {
super.viewDidLoad()
textFieldDetalle.delegate = self
// Do any additional setup after loading the view.
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (sender as AnyObject? !== saveBtn) {return}
print("VOY A MANDARLA")
self.save(name: textFieldDetalle.text!, image: imageDetalle.image!)
print("MANDADA")
}
@IBAction func cancelar(_ sender: UIBarButtonItem) {
dismiss(animated: true, completion: nil)
}
@IBAction func seleccionImagen(_ sender: UITapGestureRecognizer) {
textFieldDetalle.resignFirstResponder()
let imagePickerCtrl = UIImagePickerController()
imagePickerCtrl.delegate = self
imagePickerCtrl.sourceType = .photoLibrary
imagePickerCtrl.allowsEditing = false
self.present(imagePickerCtrl, animated: true, completion: nil)
}
// MARK: UITextFieldDelegate
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
self.dismiss(animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
imageDetalle.image = selectedImage
self.dismiss(animated: true, completion: nil)
}
Maybe trying to dismiss self (aka current VC) is cancelling the picker actions? 也许试图解散自我(又名当前的VC)正在取消选择器操作?
Try doing 尝试做
picker.dismiss(animated: true, completion: nil)
Instead of 代替
self.dismiss(animated: true, completion: nil)
try 尝试
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
imageDetalle.image = selectedImage
}
self.dismiss(animated: true, completion: nil)
declare ur picker controller as a class variable and set its delegate in viewdidload. 将ur picker控制器声明为类变量,然后在viewdidload中设置其委托。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.