SparkScan View
Defined in framework ScanditBarcodeCapture
- SDCSparkScanScanningBehavior
Added in version 6.15.0
The capture mode type of the SDCSparkScanView.
- SDCSparkScanScanningBehaviorSingle
Added in version 6.15.0
Barcode capturing session is stopped after each scan.
- SDCSparkScanScanningBehaviorContinuous
Added in version 6.15.0
Keeps the barcode capturing session active for longer time.
- SDCSparkScanViewHandMode
Added in version 6.15.0
The hand mode type of the SDCSparkScanView.
- SDCSparkScanViewHandModeRight
Added in version 6.15.0
Optimizes the layout for right-hand use of the SDCSparkScanView.
- SDCSparkScanViewHandModeLeft
Added in version 6.15.0
Optimizes the layout for left-hand use of the SDCSparkScanView.
- SDCSparkScanScanningPrecision
Added in version 6.19.0
The scanning precision type of the SDCSparkScanView.
- SDCSparkScanScanningPrecisionDefault
Added in version 6.19.0
Default precision. Depending on the configured scanning mode and behavior, it results in the following behaviors:
Tapping the trigger button starts the camera and the scanning process.
A barcode is scanned as soon as it is visible on the camera frame.
After a successful scan, the scanning process is stopped, and the camera is frozen on the last frame.
Tapping the trigger button starts the camera and the scanning process.
A barcode is scanned after pointing the viewfinder at it for a short time.
After a successful scan, the scanning process is stopped, and the camera is frozen on the last frame.
Tapping the trigger button starts the camera and the scanning process.
A barcode is scanned as soon as it is visible on the camera frame.
Camera and scanning process keep running until the user taps the trigger button, or the SDCSparkScanViewSettings.continuousCaptureTimeout expires.
Tapping the trigger button starts the camera and the scanning process.
A barcode is scanned after pointing the viewfinder at it for a short time.
Camera and scanning process keep running until the user taps the trigger button, or the SDCSparkScanViewSettings.continuousCaptureTimeout expires.
- SDCSparkScanScanningPrecisionAccurate
Added in version 6.19.0
Accurate precision. Depending on the configured scanning mode and behavior, it results in the following behaviors:
Expanding the trigger button starts the camera, and tapping it starts the scanning process.
A barcode is scanned after pointing the viewfinder at it.
After a successful scan, the scanning process is stopped, but the camera keeps running.
Tapping the trigger button starts the camera and the scanning process.
A barcode is scanned after pointing the viewfinder at it and tapping the trigger button.
Camera and scanning process keep running until the trigger button is collapsed.
Expanding the trigger button starts the camera, and tapping it starts the scanning process.
A barcode is scanned after pointing the viewfinder at it.
Camera and scanning process keep running until the user taps the trigger button, or the SDCSparkScanViewSettings.continuousCaptureTimeout expires.
Expanding the trigger button starts the camera, and tapping it starts the scanning process.
A barcode is scanned after pointing the viewfinder at it for a short time.
Camera and scanning process keep running until the user taps the trigger button, or the SDCSparkScanViewSettings.continuousCaptureTimeout expires.
- SDCSparkScanViewUIDelegate
@protocol SDCSparkScanViewUIDelegate <NSObject>
Added in version 6.16.0
- - fastFindButtonTappedInView:
- (
void
)fastFindButtonTappedInView:(nonnull SDCSparkScanView *)viewAdded in version 6.16.0
Callback method that can be used to define an action that should be performed when fast find button is tapped from the toolbar. Called from the main thread.
- - barcodeCountButtonTappedInView:
- (
void
)barcodeCountButtonTappedInView:(nonnull SDCSparkScanView *)viewAdded in version 6.16.0
Callback method that can be used to define an action that should be performed when barcode count button is tapped from the toolbar. Called from the main thread.
- - sparkScanView:didChangeScanningMode:
- (
void
)sparkScanView:(nonnull SDCSparkScanView *)view didChangeScanningMode:(nonnullid
<SDCSparkScanScanningMode>)scanningModeAdded in version 6.20.0
Callback method that will be called when the currently used SparkScanScanningMode changes. Called from the main thread.
- SDCSparkScanScanningMode
@protocol SDCSparkScanScanningMode <NSObject>
Added in version 6.16.0
The base class for setting a default scanning mode to SDCSparkScanViewSettings. Can be either SDCSparkScanScanningModeTarget or SDCSparkScanScanningModeDefault.
- SDCSparkScanScanningModeTarget
@interface SDCSparkScanScanningModeTarget : NSObject <SDCSparkScanScanningMode>
Added in version 6.16.0
Target scanning mode. This is meant and optimized to scan codes further away.
- - initWithScanningBehavior:scanningPrecision:
- (
instancetype
)initWithScanningBehavior:(SDCSparkScanScanningBehavior)scanningBehavior scanningPrecision:(SDCSparkScanScanningPrecision)scanningPrecisionAdded in version 6.16.0
Constructs a new target scanning mode with the provided capture mode and scanning precision.
- scanningBehavior
@property (nonatomic, assign, readonly) SDCSparkScanScanningBehavior scanningBehavior
Added in version 6.16.0
The scanning mode provided in the constructor.
- scanningPrecision
@property (nonatomic, assign, readonly) SDCSparkScanScanningPrecision scanningPrecision
Added in version 6.19.0
The scanning precision provided in the constructor.
- SDCSparkScanScanningModeDefault
@interface SDCSparkScanScanningModeDefault : NSObject <SDCSparkScanScanningMode>
Added in version 6.16.0
This is the standard scanning mode for SparkScan.
- - initWithScanningBehavior:scanningPrecision:
- (
instancetype
)initWithScanningBehavior:(SDCSparkScanScanningBehavior)scanningBehavior scanningPrecision:(SDCSparkScanScanningPrecision)scanningPrecisionAdded in version 6.16.0
Constructs a new default scanning mode with the provided capture mode and scanning precision.
- scanningBehavior
@property (nonatomic, assign, readonly) SDCSparkScanScanningBehavior scanningBehavior
Added in version 6.16.0
The scanning mode provided in the constructor.
- scanningPrecision
@property (nonatomic, assign, readonly) SDCSparkScanScanningPrecision scanningPrecision
Added in version 6.19.0
The scanning precision provided in the constructor.
- SDCSparkScanView
@interface SDCSparkScanView : UIView
Added in version 6.15.0
SDCSparkScan comes with a ready-to-use UI and scanning modes that are purpose-built to tackle high-volume scanning at close range. The SparkScanView integrates with any app without requiring app redesign or customization. It includes:
camera preview screen
large-sized scan button
quick access toolbar to adjust scanning settings
- - emitFeedback:
- (
void
)emitFeedback:(nonnull SDCSparkScanViewFeedback *)feedbackAdded in version 6.16.0
Displays the SDCSparkScanViewFeedback feedback and emits a SDCSparkScanFeedback based on the feedback type.
- - initWithParentView:context:sparkScan:settings:
- (
instancetype
)initWithParentView:(nonnull UIView *)parentView context:(nonnull SDCDataCaptureContext *)context sparkScan:(nonnull SDCSparkScan *)sparkScan settings:(nonnull SDCSparkScanViewSettings *)settingsAdded in version 6.15.0
Constructs a new SparkScan view and adds it to the provided parentView. When the settings are provided, those will be used to set the default behaviour and look of the view.
sparkScanView = SparkScanView(parentView: view, // For example the view controller's view property. context: context, sparkScan: sparkScan, settings: viewSettings)
- - viewWillAppear
- (
void
)viewWillAppearAdded in version 6.16.0
Method to call for preparing the mode for scanning. For instance, it can be called when the view controller containing SparkScanView is presented (i.e., UIViewController’s viewWillAppear). Please note that this method is equivalent to prepareScanning.
override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) sparkScanView.viewWillAppear() }
- - viewWillDisappear
- (
void
)viewWillDisappearAdded in version 6.16.0
Method to call for stopping the mode. For instance, it can be called when the view controller containing SparkScanView is about to disappear (i.e., UIViewController’s viewWillDisappear). Please note that this method is equivalent to stopScanning.
override func viewWillDisappear(animated: Bool) { super.viewWillDisappear(animated) sparkScanView.viewWillDisappear() }
- - prepareScanning
- (
void
)prepareScanningAdded in version 6.16.0
Method to call for preparing the mode for scanning. For instance, it can be called when the view controller containing SparkScanView is presented (i.e., UIViewController’s viewWillAppear).
- - stopScanning
- (
void
)stopScanningAdded in version 6.16.0
Method to call for stopping the mode. For instance, it can be called when the view controller containing SparkScanView is about to disappear (i.e., UIViewController’s viewWillDisappear).
- - startScanning
- (
void
)startScanningAdded in version 6.15.0
Starts the scanning process. You can call this method if you want to trigger the scanning process without any user interaction.
- - pauseScanning
- (
void
)pauseScanningAdded in version 6.15.0
Pauses the scanning process. You can call this method if you want to trigger pausing the scanning process without any user interaction.
- - showToast:
- (
void
)showToast:(NSString *)textAdded in version 6.18.0
Shows a toast with text inside the capture button.
- scanningMode
@property (nonatomic, strong, readonly)
id
<SDCSparkScanScanningMode> scanningModeAdded in version 6.20.0
Returns the currently used SparkScanScanningMode.
- shouldShowScanAreaGuides
@property (nonatomic, assign)
BOOL
shouldShowScanAreaGuidesAdded in version 6.16.0
Whether to show scan area guides on top of the preview. This property is useful during development to visualize the current scan areas on screen. It is not meant to be used for production. By default this property is NO.
- brush
@property (nonatomic, strong, nonnull) SDCBrush *brush
Added in version 6.16.0
The brush used for visualizing captured barcodes in the UI. To turn off drawing of locations, set the brush to use both a transparent fill and stroke color. By default, the brush has a transparent fill color, a white stroke color, and a stroke width of 1.
- defaultBrush
@property (class, nonatomic, strong, nonnull, readonly) SDCBrush *defaultBrush
Added in version 6.16.0
Returns the default brush used by the overlay.
- UIDelegate
@property (nonatomic, weak, nullable)
id
<SDCSparkScanViewUIDelegate> UIDelegateAdded in version 6.16.0
Sets the delegate which is called whenever a fast find button or barcode count button is tapped from the toolbar.
- barcodeCountButtonVisible
@property (nonatomic, assign, getter=isBarcodeCountButtonVisible)
BOOL
barcodeCountButtonVisibleAdded in version 6.16.0
Indicates whether the barcode count button should be shown to the user.
Default is NO.
- fastFindButtonVisible
@property (nonatomic, assign, getter=isFastFindButtonVisible)
BOOL
fastFindButtonVisibleAdded in version 6.16.0
Indicates whether the fast find button should be shown to the user.
Default is NO.
- targetModeButtonVisible
@property (nonatomic, assign, getter=isTargetModeButtonVisible)
BOOL
targetModeButtonVisibleAdded in version 6.16.0
Indicates whether the target mode button should be shown to the user.
Default is YES.
- scanningBehaviorButtonVisible
@property (nonatomic, assign, getter=isScanningBehaviorButtonVisible)
BOOL
scanningBehaviorButtonVisibleAdded in version 6.15.0
Indicates whether the scanning behavior button should be shown to the user.
Default is YES.
- torchButtonVisible
@property (nonatomic, assign, getter=isTorchButtonVisible)
BOOL
torchButtonVisibleAdded in version 6.15.0
Indicates whether the torch button should be shown to the user.
Default is YES.
- soundModeButtonVisible
@property (nonatomic, assign, getter=isSoundModeButtonVisible)
BOOL
soundModeButtonVisibleAdded in version 6.16.0
Indicates whether the enable sound button should be shown to the user.
Default is YES.
- hapticModeButtonVisible
@property (nonatomic, assign, getter=isHapticModeButtonVisible)
BOOL
hapticModeButtonVisibleAdded in version 6.16.0
Indicates whether the enable haptic button should be shown to the user.
Default is YES.
- handModeButtonVisible
@property (nonatomic, assign, getter=isHandModeButtonVisible)
BOOL
handModeButtonVisibleAdded in version 6.15.0
Indicates whether the hand mode button should be shown to the user.
Default is YES.
- zoomSwitchControlVisible
@property (nonatomic, assign, getter=isZoomSwitchControlVisible)
BOOL
zoomSwitchControlVisibleAdded in version 6.18.0
Indicates whether the zoom switch control should be shown to the user.
Default is YES.
- stopCapturingText
@property (nonatomic, strong, nullable) NSString *stopCapturingText
Added in version 6.15.0
Sets the default text to display in the button for the stop capturing action.
Default is “STOP SCANNING”
- startCapturingText
@property (nonatomic, strong, nullable) NSString *startCapturingText
Added in version 6.15.0
Sets the default text to display in the button for the start capturing action.
When SDCSparkScanViewSettings.holdToScanEnabled is enabled then default is “TAP OR HOLD TO SCAN” otherwise default is “TAP TO SCAN”
- resumeCapturingText
@property (nonatomic, strong, nullable) NSString *resumeCapturingText
Added in version 6.15.0
Sets the default text to display in the button for the resume capturing action.
Default is “RESUME SCANNING”
- scanningCapturingText
@property (nonatomic, strong, nullable) NSString *scanningCapturingText
Added in version 6.16.0
Sets the default text to display in the button when scanning in SDCSparkScanScanningBehaviorSingle.
When the scanning mode is SDCSparkScanScanningModeTarget with SDCSparkScanScanningBehaviorSingle behavior and SDCSparkScanScanningPrecisionAccurate precision then default is “TAP TO SELECT BARCODE”, otherwise default is “SCANNING”.
- captureButtonBackgroundColor
@property (nonatomic, strong, nullable) UIColor *captureButtonBackgroundColor
Added in version 6.15.0
Sets the background color of the capture button.
Default is #12161999.
- captureButtonActiveBackgroundColor
@property (nonatomic, strong, nullable) UIColor *captureButtonActiveBackgroundColor
Added in version 6.16.0
Sets the background color of the capture button when scanning.
Default is #12161966.
- captureButtonTintColor
@property (nonatomic, strong, nullable) UIColor *captureButtonTintColor
Added in version 6.16.0
Sets the capture button icon and text color.
Default is #FFFFFF.
- toolbarBackgroundColor
@property (nonatomic, strong, nullable) UIColor *toolbarBackgroundColor
Added in version 6.16.0
Sets the toolbar background color.
Default is #121619CC.
- toolbarIconActiveTintColor
@property (nonatomic, strong, nullable) UIColor *toolbarIconActiveTintColor
Added in version 6.16.0
Sets the toolbar icon active color.
Default is #FBC02C.
- toolbarIconInactiveTintColor
@property (nonatomic, strong, nullable) UIColor *toolbarIconInactiveTintColor
Added in version 6.16.0
Sets the toolbar icon inactive color.
Default is #FFFFFF.
- targetModeHintText
@property (nonatomic, strong, nullable) NSString *targetModeHintText
Added in version 6.18.0
Sets the target mode hint text.
When the scanning mode is SDCSparkScanScanningModeTarget with SDCSparkScanScanningBehaviorSingle behavior and SDCSparkScanScanningPrecisionAccurate precision then default is “Tap to select a barcode”, otherwise default is “Aim to select a barcode”.
- shouldShowTargetModeHint
@property (nonatomic, assign)
BOOL
shouldShowTargetModeHintAdded in version 6.18.0
Indicates whether hints in target mode should be shown to the user.
Default is YES.
- NSStringFromSparkScanScanningBehavior(scanningBehavior)
NSString *_Nonnull NSStringFromSparkScanScanningBehavior(SDCSparkScanScanningBehavior scanningBehavior)
Added in version 6.15.0
- SDCSparkScanScanningBehaviorFromJSONString(JSONString, scanningBehavior)
BOOL
SDCSparkScanScanningBehaviorFromJSONString(NSString *_Nonnull JSONString, SDCSparkScanScanningBehavior *_Nonnull scanningBehavior)Added in version 6.15.0
- NSStringFromSparkScanScanningPrecision(scanningPrecision)
NSString *_Nonnull NSStringFromSparkScanScanningPrecision(SDCSparkScanScanningPrecision scanningPrecision)
Added in version 6.19.0
- SDCSparkScanScanningPrecisionFromJSONString(JSONString, scanningPrecision)
BOOL
SDCSparkScanScanningPrecisionFromJSONString(NSString *_Nonnull JSONString, SDCSparkScanScanningPrecision *_Nonnull scanningPrecision)Added in version 6.19.0
- NSStringFromSparkScanViewHandMode(handMode)
NSString *_Nonnull NSStringFromSparkScanViewHandMode(SDCSparkScanViewHandMode handMode)
Added in version 6.15.0
- SDCSparkScanViewHandModeFromJSONString(JSONString, handMode)
BOOL
SDCSparkScanViewHandModeFromJSONString(NSString *_Nonnull JSONString, SDCSparkScanViewHandMode *_Nonnull handMode)Added in version 6.15.0