首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode9中的UIImagePickerController出错

Xcode9中的UIImagePickerController出错
EN

Stack Overflow用户
提问于 2017-11-22 23:18:08
回答 2查看 521关注 0票数 1

当我执行mi代码时,它显示一个错误:

发现扩展时遇到错误: Error Domain=PlugInKit Code=13 "query cancelled“UserInfo={NSLocalizedDescription=query cancelled}

当我从库中选择一张照片或从库中取消时,就会发生这种情况,问题是照片出现了,但没有分配给变量。

我的代码:

代码语言:javascript
复制
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)
}
EN

回答 2

Stack Overflow用户

发布于 2017-11-22 23:23:05

也许尝试忽略self (也就是current VC)就是在取消选择器操作?

试着做

代码语言:javascript
复制
picker.dismiss(animated: true, completion: nil)

而不是

代码语言:javascript
复制
self.dismiss(animated: true, completion: nil)
票数 0
EN

Stack Overflow用户

发布于 2017-11-23 01:07:12

试一试

代码语言:javascript
复制
    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
                imageDetalle.image = selectedImage
    }
self.dismiss(animated: true, completion: nil)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47438208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档