Как заставить VNDocumentCameraViewController забыть предыдущие сканирования?
Отображая VNDocumentCameraViewController на iOS, он автоматически сохраняет предыдущие сканы. Это может быть проблематично для пользователей, которые не осознают, что добавляют уже отсканированные документы к текущему сканированию.
Глядя на официальную документацию VisionKit, я не вижу никаких упоминаний о том, как это сделать, чтобы при выполненииviewController?.present(scannerController, animated: true)
.
Как я могу этого добиться?
1 ответ
Решение этой проблемы — создавать по одному экземпляру за раз.
В моем случае в начале класса было определено следующее:
let scannerController: VNDocumentCameraViewController = VNDocumentCameraViewController()
Поэтому каждый раз, когда я хотел показать это, я просто звонилviewController?.present(scannerController, animated: true)
.
Решение состоит в том, чтобы создавать экземпляр VNDocumentCameraViewController каждый раз, когда вы хотите его использовать. Таким образом запускается «новое» представление без следов предыдущих сканирований:
let viewController : UIViewController? = UIApplication.shared.delegate?.window??.rootViewController
let scannerController = VNDocumentCameraViewController()
scannerController.delegate = self
viewController?.present(scannerController, animated: true)