【问题标题】:image_picker: Cancel button not visible in gallery, if camera was accessed firstimage_picker:取消按钮在画廊中不可见,如果先访问相机
【发布时间】:2018-10-26 10:53:23
【问题描述】:

这就是在我的颤振应用程序中打开画廊和相机的方式。问题是,我先启动相机,然后在打开图库后,我在导航栏顶部缺少取消按钮和标题。

但是如果退出并重新启动应用程序并且我先打开图库,我可以在 ios 图像选择器中看到标题和取消按钮。

File img = await ImagePicker.pickImage(source: ImageSource.gallery);

【问题讨论】:

    标签: ios flutter uiimagepickercontroller uiimagepickercontrollermediatype


    【解决方案1】:

    您可以使用此图像选择器插件:- https://pub.dartlang.org/packages/multi_image_picker#-readme-tab-

    这个插件是基于原始的图像选择器插件,具有更多的功能。

    【讨论】:

      【解决方案2】:

      我在我的应用程序中遇到了同样的问题。我的解决方案是:

      var imagePicker: UIImagePickerController?
      
      func openCamera() -> Void {
          if UIImagePickerController.isSourceTypeAvailable(.camera) {
              let picker = UIImagePickerController()
              picker.delegate = self
              picker.sourceType = .camera;
              picker.allowsEditing = false
              imagePicker = picker //made this way to avoid forced unwrapping in imagePicker
              self.present(picker, animated: true, completion: nil)
          }
      }
      
      func openLibrary() -> Void {
          if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
              let picker = UIImagePickerController()
              picker.delegate = self
              picker.sourceType = .photoLibrary;
              picker.allowsEditing = true
              imagePicker = picker
              self.present(picker, animated: true, completion: nil)
          }
      }
      

      然后我必须实现这个:

      func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
          imagePicker?.dismiss(animated: true, completion: nil)
      
          uploadImage(resizeImage) //my function to upload the selected image
          imagePicker = nil
      }
      
      func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
          imagePicker?.dismiss(animated: true, completion: nil)
          imagePicker = nil
      }
      

      应用于 Swift 4.2 的解决方案

      【讨论】:

        猜你喜欢
        • 2022-09-27
        • 1970-01-01
        • 2022-08-18
        • 2021-11-16
        • 1970-01-01
        • 2019-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多