Label Capture Validation Flow Listener
Defined in framework ScanditLabelCapture
- LabelCaptureValidationFlowDelegate
protocol LabelCaptureValidationFlowDelegate : NSObjectProtocol
Added in version 7.3.0
Interface to be implemented by listeners that want to observe a LabelCaptureValidationFlowOverlay and get informed when a new label have been completely captured and validated by the end user.
- labelCaptureValidationFlowOverlay
open func labelCaptureValidationFlowOverlay(_ overlay: LabelCaptureValidationFlowOverlay, didCaptureLabelWith fields: Array<LabelField>) ->
VoidAdded in version 7.3.0
Invoked when the validation flow has finished and the end user has validated a label capture. The method receives a list of all the captured fields and their values. Before this method is called, the LabelCapture mode will be automatically disabled and the camera will be paused. To continue scanning, the mode should be enabled again and the camera should be turned on.
- labelCaptureValidationFlowOverlay
optional func labelCaptureValidationFlowOverlay(_ overlay: LabelCaptureValidationFlowOverlay, didSubmitManualInputFor field: LabelField, replacingValue oldValue: String?, withValue newValue: String) ->
VoidAdded in version 8.1.0
Invoked when the user manually submits a value for a field through the validation flow UI. This callback is triggered after the user submits a field value using the keyboard, regardless of whether the input passes validation. This allows you to track which fields require manual intervention and log user corrections for analytics.
- labelCaptureValidationFlowOverlay
optional func labelCaptureValidationFlowOverlay(_ overlay: LabelCaptureValidationFlowOverlay, didUpdateResult type: LabelResultUpdateType, asyncId:
Int, fields: Array<LabelField>, frameData: (any FrameData)?) ->VoidAdded in version 8.2.0
Invoked when the validation flow results are updated. This callback provides information about label field updates.
For synchronous scanning, this method is invoked once with type = LabelResultUpdateType.sync and asyncId = -1.
For asynchronous scanning, this method is invoked twice:
First invocation: type = LabelResultUpdateType.asyncStarted with frameData available and asyncId set to the unique identifier of the asynchronous operation
Second invocation: type = LabelResultUpdateType.asyncFinished with frameData as null and asyncId matching the identifier from the first invocation
The asyncId parameter allows you to correlate the start and finish events of the same asynchronous operation.