diff --git a/Advanced/DocumentReader-Swift/DocumentReader-Swift/AdditionalScreens/ChildViewController.swift b/Advanced/DocumentReader-Swift/DocumentReader-Swift/AdditionalScreens/ChildViewController.swift index fbdebb4..f55056c 100644 --- a/Advanced/DocumentReader-Swift/DocumentReader-Swift/AdditionalScreens/ChildViewController.swift +++ b/Advanced/DocumentReader-Swift/DocumentReader-Swift/AdditionalScreens/ChildViewController.swift @@ -14,37 +14,55 @@ class ChildViewController: UIViewController { var completionHandler: DocumentReaderResultsClosure? = nil var scenario: String? private var cameraViewController: UIViewController? = nil + private var latestDocumentReaderResults: DocumentReaderResults? @IBOutlet weak var presenterView: UIView! @IBOutlet weak var startButton: UIButton! + @IBOutlet weak var showResultsButton: UIButton! + @IBOutlet weak var messageLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() presenterView.layer.borderWidth = 1 + self.showResultsButton.isEnabled = false + self.messageLabel.text = "" } @IBAction func startAction(_ sender: UIButton) { startScanner() startButton.isEnabled = false + self.messageLabel.text = "" } - + + @IBAction func showResults(_ sender: Any) { + self.navigationController?.popViewController(animated: false) + if let results = self.latestDocumentReaderResults { + self.completionHandler?(results) + } + } + override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() cameraViewController?.view.frame = presenterView.frame } private func startScanner() { + DocReader.shared.startNewSession() + DocReader.shared.isCameraSessionIsPaused = false + DocReader.shared.processParams.scenario = scenario DocReader.shared.functionality.orientation = .all + let vc = DocReader.shared.prepareCameraViewController(cameraHandler: { [weak self] (action, results, error) in guard let self = self else { return } switch action { - case .complete: + case .complete, .processTimeout: DocReader.shared.isCameraSessionIsPaused = true - self.navigationController?.popViewController(animated: false) - if let results = results { - self.completionHandler?(results) - } + self.latestDocumentReaderResults = results + + startButton.isEnabled = true + self.showResultsButton.isEnabled = true + self.messageLabel.text = "RECOGNITION COMPLETED" case .morePagesAvailable: break case .cancel: @@ -54,7 +72,7 @@ class ChildViewController: UIViewController { case .process: // you can handle intermediate result here break - case .processWhiteFlashLight: + case .processWhiteFlashLight, .processOnServer: break; @unknown default: break diff --git a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Base.lproj/Main.storyboard b/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Base.lproj/Main.storyboard index 0e7578d..dcc0c81 100644 --- a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Base.lproj/Main.storyboard +++ b/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - + - + @@ -18,7 +18,7 @@ - +