Ios 如何以编程方式触发;“完成”;UIImagePickerController(摄像头)中的功能?

Ios 如何以编程方式触发;“完成”;UIImagePickerController(摄像头)中的功能?,ios,Ios,我目前正在应用程序中使用UIImagePickerController,以利用本机iOS摄像头功能 然而,我想: 1) 以某种方式以编程方式触发“Done”按钮后面的方法,这样我的用户就不必 2) 跳过相机的图像预览,而不会丢失UIImagePickerController提供的任何现有UI功能(如切换闪光灯、曝光等) 使用案例:我使用低能蓝牙快门按钮设备拍照,而不用手指按下屏幕上的“捕获”按钮。我还想允许用户按下蓝牙按钮以按下“完成”按钮,或完全放弃“完成”步骤并立即返回didFinishPi

我目前正在应用程序中使用UIImagePickerController,以利用本机iOS摄像头功能

然而,我想:

1) 以某种方式以编程方式触发“Done”按钮后面的方法,这样我的用户就不必

2) 跳过相机的图像预览,而不会丢失UIImagePickerController提供的任何现有UI功能(如切换闪光灯、曝光等)

使用案例:我使用低能蓝牙快门按钮设备拍照,而不用手指按下屏幕上的“捕获”按钮。我还想允许用户按下蓝牙按钮以按下“完成”按钮,或完全放弃“完成”步骤并立即返回didFinishPickingMediaWithInfo

这可能吗?这是我的UIImagePickerController的实现

@IBAction func presentCameraController() {
        DispatchQueue.global(qos: .userInitiated).async {
            CameraAuthorization.GetAuthorizationStatus(completion: { granted in
                if granted {
                    DispatchQueue.main.async {
                        if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera) {
                            let picker = UIImagePickerController();
                            picker.delegate = self
                            picker.sourceType = .camera

                        if let decider = UserDefaults.standard.value(forKey: "cameraFlashEnabled") as? Bool {
                            if (decider) {
                                picker.cameraFlashMode = .on
                            } else {
                                picker.cameraFlashMode = .off
                            }
                        } else {
                            picker.cameraFlashMode = .on
                        }

                        self.present(picker, animated: true, completion: nil)
                    }
                }
            } else {
                DispatchQueue.main.async {
                    let encouragement = CameraAuthorization.EncourageAccess()
                    self.present(encouragement, animated: true, completion: nil)
                }
            }
        })
    }

internal func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    let image = info[UIImagePickerControllerOriginalImage] as? UIImage

    dismiss(animated: true, completion: {
        self.selectedImage = image
        self.performSegue(withIdentifier: "segueToPhotoEditor", sender: nil)
    })
}

showsCameraControls
设置为
false
,并且(如果您希望用户有东西可以点击以便拍照)提供您自己的拍照界面。要拍摄照片,请致电(获取此)
takePicture

这项投票被否决的原因是什么?我如何改进这个问题?