<!--
{
  "availability" : [
    "macOS: 10.6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Quartz",
  "identifier" : "/documentation/Quartz/IKScannerDeviceView",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Quartz"
    ],
    "preciseIdentifier" : "c:objc(cs)IKScannerDeviceView"
  },
  "title" : "IKScannerDeviceView"
}
-->

# IKScannerDeviceView

The `IKScannerDeviceView` class displays a view that allows scanning. It can be customized by specifying the display mode. The delegate receives the scanned data and must implement the [`IKScannerDeviceViewDelegate`](/documentation/Quartz/IKScannerDeviceViewDelegate) protocol.

```
class IKScannerDeviceView
```

## Topics

### Setting the Scanner Device

[`scannerDevice`](/documentation/Quartz/IKScannerDeviceView/scannerDevice)

The device used for scanning

### Setting the Device View’s Display Mode

[`mode`](/documentation/Quartz/IKScannerDeviceView/mode)

The display mode used by the device view.

[`hasDisplayModeAdvanced`](/documentation/Quartz/IKScannerDeviceView/hasDisplayModeAdvanced)

The property that determines whether the scanner view uses the advanced display mode.

[`hasDisplayModeSimple`](/documentation/Quartz/IKScannerDeviceView/hasDisplayModeSimple)

The property that determines whether the scanner view uses the simple display mode.

### Configuring Downloading

[`displaysDownloadsDirectoryControl`](/documentation/Quartz/IKScannerDeviceView/displaysDownloadsDirectoryControl)

Determines whether the downloads directory control is displayed.

[`downloadsDirectory`](/documentation/Quartz/IKScannerDeviceView/downloadsDirectory)

The directory where scans are saved.

[`transferMode`](/documentation/Quartz/IKScannerDeviceView/transferMode)

Determines how the scanned content is provided to the delegate.

[`documentName`](/documentation/Quartz/IKScannerDeviceView/documentName)

Returns the document name.

### Specifying a Post Processing Application

[`displaysPostProcessApplicationControl`](/documentation/Quartz/IKScannerDeviceView/displaysPostProcessApplicationControl)

Specifies whether the post processing application control is displayed.

[`postProcessApplication`](/documentation/Quartz/IKScannerDeviceView/postProcessApplication)

The URL of the application to use for post processing of the scan.

### Getting and Setting the Delegate

[`delegate`](/documentation/Quartz/IKScannerDeviceView/delegate)

The scanner device delegate

### Customizing Button Labels

[`overviewControlLabel`](/documentation/Quartz/IKScannerDeviceView/overviewControlLabel)

Allows customization of the “Overview” label.

[`scanControlLabel`](/documentation/Quartz/IKScannerDeviceView/scanControlLabel)

Allows customization of the “Scan” label.

### Constants

[`IKScannerDeviceViewTransferMode`](/documentation/Quartz/IKScannerDeviceViewTransferMode)

These constants determine how the scanner data is returned to the delegate. They are used by the [`transferMode`](/documentation/Quartz/IKScannerDeviceView/transferMode) property.

[`IKScannerDeviceViewDisplayMode`](/documentation/Quartz/IKScannerDeviceViewDisplayMode)

These constants specify the display mode the scanner view will use. They are used by the [`mode`](/documentation/Quartz/IKScannerDeviceView/mode) property.

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSUserInterfaceItemIdentification`](/documentation/AppKit/NSUserInterfaceItemIdentification)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSDraggingDestination`](/documentation/AppKit/NSDraggingDestination)

[`NSAccessibilityElementProtocol`](/documentation/AppKit/NSAccessibilityElementProtocol)

[`Equatable`](/documentation/Swift/Equatable)

[`NSAccessibilityProtocol`](/documentation/AppKit/NSAccessibilityProtocol)

[`NSUserActivityRestoring`](/documentation/AppKit/NSUserActivityRestoring)

[`CVarArg`](/documentation/Swift/CVarArg)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

[`NSAnimatablePropertyContainer`](/documentation/AppKit/NSAnimatablePropertyContainer)

[`Hashable`](/documentation/Swift/Hashable)

[`NSAppearanceCustomization`](/documentation/AppKit/NSAppearanceCustomization)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NSStandardKeyBindingResponding`](/documentation/AppKit/NSStandardKeyBindingResponding)

[`Sendable`](/documentation/Swift/Sendable)

### Inherits From

[`NSView`](/documentation/AppKit/NSView)

---

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)