Открытие VNDocumentCameraViewController приводит к тому, что UIImagePickerController sourcetype .camera находится не в фокусе
В тестовом проекте 2 кнопки. Один представляет VNDocumentCameraViewController, а другой - UIImagePickerController. Если я открою VNDocumentCameraViewController, затем закрою VC, а затем открою UIImagePickerController с sourcetype .camera, дисплей камеры не сможет правильно сфокусироваться, в фокусе будут только объекты, расположенные очень близко к устройству. Если я затем вернусь к VNDocumentCameraViewController, камера здесь тоже будет не в фокусе.
Если я открываю приложение и выбираю только UIImagePickerController, фокусировка работает должным образом.
Эта проблема возникает с iPad 6-го поколения на iOS 13.6.1. Однако основное внимание уделяется iPhone SE 2020 года на iOS 13.6.1.
Есть идеи, как заставить фокус работать?
import UIKit
import VisionKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func docScannerPress(_ sender: AnyObject){
if #available(iOS 13.0, *) {
let scanVC = VNDocumentCameraViewController()
scanVC.delegate = self
present(scanVC, animated: true, completion: nil)
} else {
}
}
@IBAction func photoPress(_ sender: AnyObject){
let vc = UIImagePickerController()
vc.sourceType = .camera
vc.allowsEditing = false// true
vc.showsCameraControls = true
vc.delegate = self
present(vc, animated: true, completion: nil)
}
}
extension ViewController: UINavigationControllerDelegate, UIImagePickerControllerDelegate{
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
picker.dismiss(animated: true, completion: nil)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
}
extension ViewController: VNDocumentCameraViewControllerDelegate{
func documentCameraViewController(_ controller: VNDocumentCameraViewController, didFinishWith scan: VNDocumentCameraScan) {
controller.dismiss(animated: true, completion: nil)
}
func documentCameraViewControllerDidCancel(_ controller: VNDocumentCameraViewController) {
controller.dismiss(animated: true, completion: nil)
}
func documentCameraViewController(_ controller: VNDocumentCameraViewController, didFailWithError error: Error) {
controller.dismiss(animated: true, completion: nil)
}
}