<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VisionKit",
  "identifier" : "/documentation/VisionKit/DataScannerViewController/init(recognizedDataTypes:qualityLevel:recognizesMultipleItems:isHighFrameRateTrackingEnabled:isPinchToZoomEnabled:isGuidanceEnabled:isHighlightingEnabled:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "VisionKit"
    ],
    "preciseIdentifier" : "s:9VisionKit25DataScannerViewControllerC010recognizedC5Types12qualityLevel23recognizesMultipleItems30isHighFrameRateTrackingEnabled0n11PinchToZoomS00n8GuidanceS00n12HighlightingS0ACShyAC010RecognizedC4TypeVG_AC07QualityJ0OS5btcfc"
  },
  "title" : "init(recognizedDataTypes:qualityLevel:recognizesMultipleItems:isHighFrameRateTrackingEnabled:isPinchToZoomEnabled:isGuidanceEnabled:isHighlightingEnabled:)"
}
-->

# init(recognizedDataTypes:qualityLevel:recognizesMultipleItems:isHighFrameRateTrackingEnabled:isPinchToZoomEnabled:isGuidanceEnabled:isHighlightingEnabled:)

Creates a scanner for finding data, such as text and machine-readable
codes, in the camera’s live video.

```
@MainActor init(recognizedDataTypes: Set<DataScannerViewController.RecognizedDataType>, qualityLevel: DataScannerViewController.QualityLevel = .balanced, recognizesMultipleItems: Bool = false, isHighFrameRateTrackingEnabled: Bool = true, isPinchToZoomEnabled: Bool = true, isGuidanceEnabled: Bool = true, isHighlightingEnabled: Bool = false)
```

## Parameters

`recognizedDataTypes`

The types of data that the data scanner
identifies in the live video.

`qualityLevel`

The level of resolution to scan that depends on the size
of the items.

`recognizesMultipleItems`

A Boolean value that indicates whether the
scanner identifies all items in the live video.

`isHighFrameRateTrackingEnabled`

A Boolean value that determines the
frequency that the scanner updates the geometry of recognized items.

`isPinchToZoomEnabled`

A Boolean value that indicates whether people can
use a two-finger pinch-to-zoom gesture.

`isGuidanceEnabled`

A Boolean value that indicates whether the scanner
provides help to a person when selecting items.

`isHighlightingEnabled`

A Boolean value that indicates whether the
scanner displays highlights around recognized items.

## See Also

[`let qualityLevel: DataScannerViewController.QualityLevel`](/documentation/VisionKit/DataScannerViewController/qualityLevel-swift.property)

The resolution that the scanner uses to find data.

[`let recognizesMultipleItems: Bool`](/documentation/VisionKit/DataScannerViewController/recognizesMultipleItems)

A Boolean value that indicates whether the scanner should identify all
items in the live video.

[`let isHighFrameRateTrackingEnabled: Bool`](/documentation/VisionKit/DataScannerViewController/isHighFrameRateTrackingEnabled)

A Boolean value that determines the frequency at which the scanner
updates the geometry of recognized items.

[`let isGuidanceEnabled: Bool`](/documentation/VisionKit/DataScannerViewController/isGuidanceEnabled)

A Boolean value that indicates whether the scanner provides help to a
person when selecting items.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)