Как заставить 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)
Другие вопросы по тегам