当我执行mi代码时,它显示一个错误:
发现扩展时遇到错误: Error Domain=PlugInKit Code=13 "query cancelled“UserInfo={NSLocalizedDescription=query cancelled}
当我从库中选择一张照片或从库中取消时,就会发生这种情况,问题是照片出现了,但没有分配给变量。
我的代码:
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)
}发布于 2017-11-22 23:23:05
也许尝试忽略self (也就是current VC)就是在取消选择器操作?
试着做
picker.dismiss(animated: true, completion: nil)而不是
self.dismiss(animated: true, completion: nil)发布于 2017-11-23 01:07:12
试一试
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
imageDetalle.image = selectedImage
}
self.dismiss(animated: true, completion: nil)将你的选择器控制器声明为一个类变量,并在viewdidload中设置它的委托。
https://stackoverflow.com/questions/47438208
复制相似问题