Deprecation warning

Please note that this is outdated documentation for an older release of the Scandit Barcode Scanner SDK.

We are deprecating the 5.x API on all platforms (except Linux). Release 5.19 in April 2021 will be our final. Applications running 5.x will continue to work, and we will continue to release critical bug fixes and security patches only, for one year. We encourage you to migrate to 6.x and take advantage of our latest / advanced features and improved performance.

You'll find the updated documentation at: Data Capture SDK Documentation for iOS

SBSOverlayController Class Reference

Inherits UIViewController.

Instance Methods

(void) - setMatrixScanHighlightingColor:forState:
 

Properties

UIToolbar * toolBar
 
id< SBSOverlayControllerDidCancelDelegatecancelDelegate
 
SBSGuiStyle guiStyle
 

Sound Configuration

Customize the scan sound.

(BOOL) - beepEnabled
 
(void) - setBeepEnabled:
 
(BOOL) - vibrateEnabled
 
(void) - setVibrateEnabled:
 
(BOOL) - setScanSoundResource:ofType:
 

Torch Configuration

Enable and customize appearance of the torch icon.

(void) - setTorchEnabled:
 
(BOOL) - setTorchOnImage:pressed:
 
(BOOL) - setTorchOnImageResource:pressedResource:ofType:
 
(BOOL) - setTorchOffImage:pressed:
 
(BOOL) - setTorchOffImageResource:pressedResource:ofType:
 
(void) - setTorchButtonLeftMargin:topMargin:width:height:
 
(void) - setTorchOffButtonAccessibilityLabel:hint:
 
(void) - setTorchOnButtonAccessibilityLabel:hint:
 

Camera Switch Configuration

Enable camera switch and set icons

(void) - setCameraSwitchVisibility:
 
(BOOL) - setCameraSwitchImage:pressed:
 
(BOOL) - setCameraSwitchImageResource:pressedResource:ofType:
 
(void) - setCameraSwitchButtonRightMargin:topMargin:width:height:
 
(void) - setCameraSwitchButtonBackAccessibilityLabel:hint:
 
(void) - setCameraSwitchButtonFrontAccessibilityLabel:hint:
 

Text Recognition Switch Configuration

Customize the viewfinder where the barcode location is highlighted.

(void) - setTextRecognitionSwitchVisible:
 

Viewfinder Configuration

Customize the viewfinder where the barcode location is highlighted.

(void) - drawViewfinder:
 
(void) - setViewfinderHeight:width:landscapeHeight:landscapeWidth:
 
(void) - setViewfinderWidth:height:landscapeWidth:landscapeHeight:
 
(void) - setViewfinderPortraitWidth:height:
 
(void) - setViewfinderLandscapeWidth:height:
 
(void) - setViewfinderColor:green:blue:
 
(void) - setViewfinderDecodedColor:green:blue:
 
(void) - resetUI
 

Toolbar Configuration

Customize toolbar appearance

(void) - showToolBar:
 
(void) - setToolBarButtonCaption:
 

Camera Permission Configuration

Customize the text shown if the camera can not be aquired.

(void) - setMissingCameraPermissionInfoText:
 

Detailed Description

controls the scan screen user interface.

The overlay controller can be used to configure various scan screen UI elements such as toolbar, torch, camera switch icon, scandit logo and the viewfinder.

Developers can inherit from the SBSOverlayController to implement their own scan screen user interfaces.

Since
4.7.0

Copyright 2010 Mirasense AG. All rights reserved.

Method Documentation

- (BOOL) beepEnabled

Whether to play a sound when a barcode is recognized. If the phone's ring mode is set to muted or vibrate, no beep will be played regardless of the value.

Enabled by default.

Since
5.3.1
- (void) setBeepEnabled: (BOOL)  enabled

See beepEnabled.

Since
1.0.0
- (BOOL) vibrateEnabled

Whether the device should vibrate when a code was recognized.

Enabled by default.

Since
5.3.1
- (void) setVibrateEnabled: (BOOL)  enabled

See vibrateEnabled.

Since
1.0.0
- (BOOL) setScanSoundResource: (nonnull NSString *)  path
ofType: (nonnull NSString *)  extension 

Sets the audio sound played when a code has been successfully recognized.

File needs to be placed in Resources folder.

Note: This feature is only available with the Scandit SDK Enterprise Packages.

The default is: "beep.wav"

Since
2.0.0
Parameters
pathThe file name of the sound file (without suffix).
extensionThe file type.
Returns
Whether the change was successful.
- (void) setTorchEnabled: (BOOL)  enabled

Enables or disables the torch toggle button for all devices/cameras that support a torch.

By default it is enabled. The torch icon is never shown when the camera does not have a torch (most tablets, front cameras, etc).

Since
2.0.0
Parameters
enabledWhether the torch button should be shown.
- (BOOL) setTorchOnImage: (nonnull UIImage *)  torchOnImage
pressed: (nonnull UIImage *)  torchOnPressedImage 

Sets the images which are being drawn when the torch is on.

By default these are "flashlight-turn-off-icon.png" and "flashlight-turn-off-icon-pressed.png" which come with the framework's resource bundle.

Since
4.7.0
Parameters
torchOnImageThe image for when the torch is on.
torchOnPressedImageThe image for when the torch is on and it is pressed.
Returns
Whether the change was successful.
- (BOOL) setTorchOnImageResource: (nonnull NSString *)  fileName
pressedResource: (nonnull NSString *)  pressedFileName
ofType: (nonnull NSString *)  extension 

Sets the images which are being drawn when the torch is on.

If you want this to be displayed in proper resolution on high resolution screens, you need to also provide a resource with the same name but \2x appended and in higher resolution (like flashlight-turn-on-icon\2x.png).

File needs to be placed in Resources folder.

By default this is: "flashlight-turn-off-icon.png" and "flashlight-turn-off-icon-pressed.png"

Since
2.0.0
Parameters
fileNameThe file name for when the torch is on (without suffix).
pressedFileNameThe file name for when the torch is on and it is pressed (without suffix).
extensionThe file type.
Returns
Whether the change was successful.
- (BOOL) setTorchOffImage: (nonnull UIImage *)  torchOffImage
pressed: (nonnull UIImage *)  torchOffPressedImage 

Sets the images which are being drawn when the torch is off.

By default this is: "flashlight-turn-on-icon.png" and "flashlight-turn-on-icon-pressed.png" which come with the framework's resource bundle.

Since
4.7.0
Parameters
torchOffImageThe image for when the torch is off.
torchOffPressedImageThe image for when the torch is off and it is pressed.
Returns
Whether the change was successful.
- (BOOL) setTorchOffImageResource: (nonnull NSString *)  fileName
pressedResource: (nonnull NSString *)  pressedFileName
ofType: (nonnull NSString *)  extension 

Sets the images which are being drawn when the torch is off.

If you want this to be displayed in proper resolution on high resolution screens, you need to also provide a resource with the same name but \2x appended and in higher resolution (like flashlight-turn-on-icon\2x.png).

By default this is: "flashlight-turn-on-icon.png" and "flashlight-turn-on-icon-pressed.png"

Since
2.0.0
Parameters
fileNameThe file name for when the torch is off (without suffix).
pressedFileNameThe file name for when the torch is off and it is pressed (without suffix).
extensionThe file type.
Returns
Whether the change was successful.
- (void) setTorchButtonLeftMargin: (float)  leftMargin
topMargin: (float)  topMargin
width: (float)  width
height: (float)  height 

Sets the position at which the button to enable the torch is drawn.

By default the margins are 15 and width and height are 40.

Since
4.7.0
Parameters
leftMarginLeft margin in points.
topMarginTop margin in points.
widthWidth in points.
heightHeight in points.
- (void) setTorchOffButtonAccessibilityLabel: (nonnull NSString *)  label
hint: (nonnull NSString *)  hint 

Sets the accessibility label and hint for the torch button while the torch is off.

The accessibility label and hint give vision-impaired users voice over guidance for the torch button while the torch is turned on. The default label is "Torch Switch (Currently Off)", the default hint "Double-tap to switch the torch on"

Since
4.9.0
Parameters
labelThe accessibility label.
hintThe accessibility hint.
- (void) setTorchOnButtonAccessibilityLabel: (nonnull NSString *)  label
hint: (nonnull NSString *)  hint 

Sets the accessibility label and hint for the torch button while the torch is on.

The accessibility label and hint give vision-impaired users voice over guidance for the torch button while the torch is turned on. The default label is "Torch Switch (Currently On)", the default hint "Double-tap to switch the torch off"

Since
4.9.0
Parameters
labelThe accessibility label.
hintThe accessibility hint.
- (void) setCameraSwitchVisibility: (SBSCameraSwitchVisibility visibility

Sets when the camera switch button is visible for devices that have more than one camera.

By default it is CameraSwitchVisibility::CAMERA_SWITCH_NEVER.

Since
3.0.0
Parameters
visibilityThe visibility of the camera switch button (SBSCameraSwitchVisibilityNever, SBSCameraSwitchVisibilityOnTablet, SBSCameraSwitchVisibilityAlways
- (BOOL) setCameraSwitchImage: (nonnull UIImage *)  cameraSwitchImage
pressed: (nonnull UIImage *)  cameraSwitchPressedImage 

Sets the images which are being drawn when the camera switch button is visible.

By default this is "camera-swap-icon.png" and "camera-swap-icon-pressed.png" which come with the framework's resource bundle.

Since
4.7.0
Parameters
cameraSwitchImageThe image for the camera swap button.
cameraSwitchPressedImageThe image for the camera swap button when pressed.
Returns
Whether the change was successful.
- (BOOL) setCameraSwitchImageResource: (nonnull NSString *)  fileName
pressedResource: (nonnull NSString *)  pressedFileName
ofType: (nonnull NSString *)  extension 

Sets the images which are being drawn when the camera switch button is visible.

If you want this to be displayed in proper resolution on high resolution screens, you need to also provide a resource with the same name but \2x appended and in higher resolution (like flashlight-turn-on-icon\2x.png).

File needs to be placed in Resources folder.

By default this is: "camera-swap-icon.png" and "camera-swap-icon-pressed.png"

Since
3.0.0
Parameters
fileNameThe file name of the camera swap button's image (without suffix).
pressedFileNameThe file name of the camera swap button's image when pressed (without suffix).
extensionThe file type.
Returns
Whether the change was successful.
- (void) setCameraSwitchButtonRightMargin: (float)  rightMargin
topMargin: (float)  topMargin
width: (float)  width
height: (float)  height 

Sets the position at which the button to switch the camera is drawn.

Be aware that the x coordinate is calculated from the right side of the screen and not the left like with the torch button.

By default this is set to x = 15, y = 15, width = 40 and height = 40.

Since
3.0.0
Parameters
rightMarginRight margin in points.
topMarginTop margin in points
widthWidth in points.
heightHeight in points.
- (void) setCameraSwitchButtonBackAccessibilityLabel: (nonnull NSString *)  label
hint: (nonnull NSString *)  hint 

Sets the accessibility label and hint for the camera switch button while the back-facing camera is active.

The accessibility label and hint give vision-impaired users voice over guidance for the camera switch button while the back-facing camera is active. The default label is "Camera Switch (Currently back-facing)", the default hint "Double-tap to switch to the front-facing camera".

Since
4.9.0
Parameters
labelThe accessibility label.
hintThe accessibility hint.
- (void) setCameraSwitchButtonFrontAccessibilityLabel: (nonnull NSString *)  label
hint: (nonnull NSString *)  hint 

Sets the accessibility label and hint for the camera switch button while the front-facing camera is active.

The accessibility label and hint give vision-impaired users voice over guidance for the camera switch button while the front-facing camera is active. The default label is "Camera Switch (Currently front-facing)", the default hint "Double-tap to switch to the back-facing camera".

Since
4.9.0
Parameters
labelThe accessibility label.
hintThe accessibility hint.
- (void) setTextRecognitionSwitchVisible: (BOOL)  visible

Sets whether the button to switch between different recognition modes should be visible. If The scanner only supports one recognition mode the button is never shown.

Parameters
visibleWhether the button should be visible.
Since
5.2.0
- (void) drawViewfinder: (BOOL)  draw

Shows/hides viewfinder rectangle and highlighted barcode location in the scan screen UI.

Note: This feature is only available with the Scandit SDK Enterprise Packages.

By default this is enabled.

Since
1.0.0
Parameters
drawWhether the viewfinder rectangle should be drawn.
- (void) setViewfinderHeight: (float)  h
width: (float)  w
landscapeHeight: (float)  lH
landscapeWidth: (float)  lW 

Sets the size of the viewfinder relative to the size of the screen size.

Changing this value does not(!) affect the area in which barcodes are successfully recognized. It only changes the size of the box drawn onto the scan screen. To restrict the active scanning area, use the properties listed below.

See also
SBSScanSettings::activeScanningAreaPortrait
SBSScanSettings::activeScanningAreaLandscape

By default the width is 0.9, height is 0.4, landscapeWidth is 0.6, landscapeHeight is 0.4

Since
3.0.0
Parameters
hHeight of the viewfinder rectangle in portrait orientation.
wWidth of the viewfinder rectangle in portrait orientation.
lHHeight of the viewfinder rectangle in landscape orientation.
lWWidth of the viewfinder rectangle in landscape orientation.
- (void) setViewfinderWidth: (float)  w
height: (float)  h
landscapeWidth: (float)  lW
landscapeHeight: (float)  lH 

Sets the size of the viewfinder relative to the size of the screen size.

Changing this value does not(!) affect the area in which barcodes are successfully recognized. It only changes the size of the box drawn onto the scan screen. To restrict the active scanning area, use the properties listed below.

See also
SBSScanSettings::activeScanningAreaPortrait
SBSScanSettings::activeScanningAreaLandscape

By default the width is 0.9, height is 0.4, landscapeWidth is 0.6, landscapeHeight is 0.4

Since
5.4.0
Parameters
wWidth of the viewfinder rectangle in portrait orientation.
hHeight of the viewfinder rectangle in portrait orientation.
lWWidth of the viewfinder rectangle in landscape orientation.
lHHeight of the viewfinder rectangle in landscape orientation.
- (void) setViewfinderPortraitWidth: (float)  w
height: (float)  h 

Sets the size of the viewfinder relative to the size of the screen size in portrait orientation.

Changing this value does not(!) affect the area in which barcodes are successfully recognized. It only changes the size of the box drawn onto the scan screen. To restrict the active scanning area, use the properties listed below.

See also
SBSScanSettings::activeScanningAreaPortrait
SBSScanSettings::activeScanningAreaLandscape

By default the width is 0.9, height is 0.4

Since
4.16.0
Parameters
wWidth of the viewfinder rectangle in portrait orientation.
hHeight of the viewfinder rectangle in portrait orientation.
- (void) setViewfinderLandscapeWidth: (float)  w
height: (float)  h 

Sets the size of the viewfinder relative to the size of the screen size in landscape orientation.

Changing this value does not(!) affect the area in which barcodes are successfully recognized. It only changes the size of the box drawn onto the scan screen. To restrict the active scanning area, use the properties listed below.

See also
SBSScanSettings::activeScanningAreaPortrait
SBSScanSettings::activeScanningAreaLandscape

By default the width is 0.6, height is 0.4

Since
4.16.0
Parameters
wWidth of the viewfinder rectangle in landscape orientation.
hHeight of the viewfinder rectangle in landscape orientation.
- (void) setViewfinderColor: (float)  r
green: (float)  g
blue: (float)  b 

Sets the color of the viewfinder before a bar code has been recognized.

Note: This feature is only available with the Scandit SDK Enterprise Packages.

By default this is: white (1.0, 1.0, 1.0)

Since
1.0.0
Parameters
rRed component (between 0.0 and 1.0).
gGreen component (between 0.0 and 1.0).
bBlue component (between 0.0 and 1.0).
- (void) setViewfinderDecodedColor: (float)  r
green: (float)  g
blue: (float)  b 

Sets the color of the viewfinder once the bar code has been recognized.

Note: This feature is only available with the Scandit SDK Enterprise Packages.

By default this is: light blue (0.222, 0.753, 0.8)

Since
1.0.0
Parameters
rRed component (between 0.0 and 1.0).
gGreen component (between 0.0 and 1.0).
bBlue component (between 0.0 and 1.0).
- (void) resetUI

Resets the scan screen user interface to its initial state.

This resets the animation showing the barcode locations to its initial state.

Since
1.0.0
- (void) showToolBar: (BOOL)  show

Adds (or removes) a tool bar to/from the bottom of the scan screen.

Since
1.0.0
Parameters
showboolean indicating whether toolbar should be shown.
- (void) setToolBarButtonCaption: (nonnull NSString *)  caption

Sets the caption of the toolbar button.

By default this is: "Cancel"

Since
1.0.0
Parameters
captionstring used for cancel button caption
- (void) setMissingCameraPermissionInfoText: (nonnull NSString *)  infoText

Sets the text shown if the camera can not be aquired because the app does not have permission to access the camera.

By default this is: "The Barcode Picker was unable to access the device's camera.\n\nGo to Settings -> Privacy -> Camera and check that this app has permission to use the camera."

Since
4.7.0
Parameters
infoTextText shown if the camera can not be aquired.
- (void) setMatrixScanHighlightingColor: (nonnull UIColor *)  color
forState: (SBSMatrixScanHighlightingState state 

Sets the color of the tracked barcodes to use for the specified state.

Since
5.2.0
Parameters
colorThe color to use for tracked barcodes in the specified state.
stateThe state that uses the specified color.

Property Documentation

- (UIToolbar*) toolBar
readnonatomicstrong

The tool bar that can be shown at the bottom of the scan screen.

Since
1.0.0
- (id<SBSOverlayControllerDidCancelDelegate>) cancelDelegate
readwritenonatomicweak

The overlay controller delegate that handles the didCancelWithStatus callback.

Since
4.7.0
- (SBSGuiStyle) guiStyle
readwritenonatomicassign

The GUI style drawn to display the indicator where the code should be scanned and the visualization of recognized codes.

By default this is SBSGuiStyleDefault.

Since
4.8.0

The documentation for this class was generated from the following file: