【问题标题】:Error with UIImagePickerController in XCODE 9XCODE 9 中的 UIImagePickerController 出错
【发布时间】:2017-11-22 15:18:07
【问题描述】:

当我执行 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)
}

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    也许试图解雇自己(也就是当前的 VC)正在取消选择器操作?

    试试看

    picker.dismiss(animated: true, completion: nil)
    

    代替

    self.dismiss(animated: true, completion: nil)
    

    【讨论】:

    • 感谢您的回答,但我已经尝试过了,错误仍然存​​在
    • 当我从库中选择照片或从库中取消时,问题是照片出现但未分配给变量
    【解决方案2】:

    试试

        if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
                    imageDetalle.image = selectedImage
        }
    self.dismiss(animated: true, completion: nil)
    

    将你的选择器控制器声明为类变量并在 viewdidload 中设置它的委托。

    【讨论】:

      猜你喜欢
      • 2018-07-21
      • 2018-07-03
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多