Skip to main content

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:

Barcode Count Status

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