Advanced Configurations
MatrixScan Count is optimized by default for efficiency, accuracy, and a seamless user experience. However, there are multiple advanced settings available to further customize MatrixScan Count to best fit your needs.
Scanning Against a List
There is a function to set a list of expected barcodes if you are scanning against a manifest or item list. If this is used, a progress bar is added to the UI so you can keep track of the process while scanning.
When scanning against a list, the UI will also show red icons to mark scanned barcodes that aren’t present on the list. To set the list of expected barcodes, use the following code:
let targetBarcodes = Set(arrayLiteral: TargetBarcode(data: "data", quantity: 1))
let captureList = BarcodeCountCaptureList(listener: self, targetBarcodes: targetBarcodes)
barcodeCount.setCaptureList(captureList)
Barcode Count Status
This feature is used to provide users with more details regarding the items they’re scanning in order to aid effective handling. The icons appear as an AR overlay after tapping the “Status Mode” button and can be used to highlight the following:
See the Expiry Management Sample for an example of how to use this feature.
Strap Mode
It can be difficult to reach the shutter button if the smart device is attached to the user’s wrist by a strap or similar.
You can enable a floating shutter button that can be positioned by the end user in a more ergonomically suitable position:
barcodeCountView.shouldShowFloatingShutterButton = true
Filtering
If there several types of barcodes on your label you may want to scan only one of them. In this case, you can filter the others out by symbology, symbol count, or setting a regex.
For example, you might want to scan only Code 128 barcodes and no PDF417 barcodes. You can do this by setting the following:
let filterSettings = BarcodeFilterSettings()
filterSettings.excludedSymbologies = [.pdf417]
let barcodeCountSettings = BarcodeCountSettings()
barcodeCountSettings.set(symbology: .code128, enabled: true))
barcodeCountSettings.set(symbology: .pdf417, enabled: true))
barcodeCountSettings.filterSettings = filterSettings
Or to exclude all the barcodes starting with 4 numbers:
let filterSettings = BarcodeFilterSettings()
settings.excludedCodesRegex = "^1234.*"
let barcodeCountSettings = BarcodeCountSettings()
barcodeCountSettings.filterSettings = filterSettings
Clear Screen Button
There are situations in which the user may find it helpful to clean up their screen (i.e. clear all the AR overlays) but keep the list of barcodes scanned.
For this you can enable the “Clear screen” button:
barcodeCountView.shouldShowClearHighlightsButton = true
Customizing the AR Overlays
MatrixScan Count comes with recommended and user-tested AR overlays. You can customize the overlay colors once the overlay has been added according to the SDCBarcodeCountViewDelegate
protocol.
The methods SDCBarcodeCountViewDelegate.barcodeCountView:brushForRecognizedBarcode:
and SDCBarcodeCountViewDelegate.barcodeCountView:brushForUnrecognizedBarcode:
are invoked every time a new recognized or unrecognized barcode appears. These can be used to set a brush that will highlight that specific barcode in the overlay. Keep in mind that these methods are relevant only when using the style SDCBarcodeCountViewStyleDot
.
func barcodeCountView(_ view: BarcodeCountView,
brushForRecognizedBarcode trackedBarcode: TrackedBarcode) -> Brush? {
// Return a custom brush
}
func barcodeCountView(_ view: BarcodeCountView,
brushForUnrecognizedBarcode trackedBarcode: TrackedBarcode) -> Brush? {
// Return a custom brush
}
Notifications
To be notified when a user taps on an overlay, you need to implement the SDCBarcodeCountViewDelegate.barcodeCountView:didTapRecognizedBarcode:
and SDCBarcodeCountViewDelegate.barcodeCountView:didTapUnrecognizedBarcode:
methods:
func barcodeCountView(_ view: BarcodeCountView,
didTapRecognizedBarcode trackedBarcode: TrackedBarcode) {
// Do something with the tapped barcode
}
func barcodeCountView(_ view: BarcodeCountView,
didTapUnrecognizedBarcode trackedBarcode: TrackedBarcode) {
// Do something with the tapped barcode
}
Disable UI Elements
The UI is an integral part of MatrixScan Count and we do not recommend that you use it without it. However, if you wish to disable UI elements you can so as follows.
To disable buttons:
barcodeCountView.shouldShowListButton = false
barcodeCountView.shouldShowExitButton = false
barcodeCountView.shouldShowShutterButton = false
To disable feedback and hints:
barcodeCountView.shouldShowHints = false
barcodeCountView.shouldShowUserGuidanceView = false