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

# NSImageView

A display of image data in a frame.

```
class NSImageView
```

## Overview

Image views can be static or editable. A static image view only displays the image that you specify. An editable image view object lets the user change the displayed image. You can also configure an image view to allow copying, pasting, deleting, and dragging of the image.

> Note:
> An image view calls its action method only when the user drags an image into the image view’s bounds, and the image view must be editable to receive dragged images. If you want to display an image and respond to clicks in the image, use an [NSButton](https://developer.apple.com/library/archive/technotes/tn2219/_index.html#//apple_ref/doc/uid/DTS10004624-CH1-SUBSECTION12) object instead.

## Topics

### Creating the view

[`+  imageViewWithImage:`](/documentation/AppKit/NSImageView/init(image:))

Creates a non-editable image view containing the provided image. The image is scaled proportionally down to fit the view, and is centered within the view.

### Configuring the cell

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

An `NSImageCell` object displays a single image (encapsulated in an [`NSImage`](/documentation/AppKit/NSImage) object) in a frame. This class provides methods for choosing the frame and for aligning and scaling the image to fit the frame.

### Specifying the image

[`symbolConfiguration`](/documentation/AppKit/NSImageView/symbolConfiguration)

Specifies a combination of point size, weight, and scale to use when sizing and displaying symbol images.

[`image`](/documentation/AppKit/NSImageView/image)

The image displayed by the image view.

### Specifying the visual characteristics

[`imageFrameStyle`](/documentation/AppKit/NSImageView/imageFrameStyle)

The style of frame that appears around the image.

[`imageAlignment`](/documentation/AppKit/NSImageView/imageAlignment)

The alignment of the cell’s image inside the image view.

[`imageScaling`](/documentation/AppKit/NSImageView/imageScaling)

The scaling mode applied to make the cell’s image fit the frame of the image view.

[`animates`](/documentation/AppKit/NSImageView/animates)

A Boolean value indicating whether the image view automatically plays animated images.

[`contentTintColor`](/documentation/AppKit/NSImageView/contentTintColor)

A tint color to be used when rendering template image content.

### Specifying the dynamic range

[`imageDynamicRange`](/documentation/AppKit/NSImageView/imageDynamicRange)

The resolved dynamic range of the fully resolved image content.

[`preferredImageDynamicRange`](/documentation/AppKit/NSImageView/preferredImageDynamicRange)

The preferred dynamic range when displaying an image in the receiving image view.

[`defaultPreferredImageDynamicRange`](/documentation/AppKit/NSImageView/defaultPreferredImageDynamicRange)

The default preferred image dynamic range.

### Responding to user events

[`editable`](/documentation/AppKit/NSImageView/isEditable)

A Boolean value indicating whether the user can drag a new image into the image view.

[`allowsCutCopyPaste`](/documentation/AppKit/NSImageView/allowsCutCopyPaste)

A Boolean value indicating whether the image view lets the user cut, copy, and paste the image contents.

### Configuring symbol effects

[`addSymbolEffect(_:options:animated:)`](/documentation/AppKit/NSImageView/addSymbolEffect(_:options:animated:)-4kete)

Adds an indefinite symbol effect to the image view with the specified options and animation.

[`addSymbolEffect(_:options:animated:)`](/documentation/AppKit/NSImageView/addSymbolEffect(_:options:animated:)-4p7p7)

Adds a discrete symbol effect to the image view with the specified options and animation.

[`addSymbolEffect(_:options:animated:)`](/documentation/AppKit/NSImageView/addSymbolEffect(_:options:animated:)-66ckm)

Adds a discrete, indefinite symbol effect to the image view with the specified options and animation.

[`setSymbolImage(_:contentTransition:options:)`](/documentation/AppKit/NSImageView/setSymbolImage(_:contentTransition:options:))

Sets a symbol image using the specified content-transition effect and options.

[`removeSymbolEffect(ofType:options:animated:)`](/documentation/AppKit/NSImageView/removeSymbolEffect(ofType:options:animated:)-8bszd)

Removes the symbol effect that matches the specified indefinite effect type, using the specified options and animation setting.

[`removeSymbolEffect(ofType:options:animated:)`](/documentation/AppKit/NSImageView/removeSymbolEffect(ofType:options:animated:)-4c6vq)

Removes the symbol effect that matches the specified discrete, indefinite effect type, using the specified options and animation setting.

[`removeSymbolEffect(ofType:options:animated:)`](/documentation/AppKit/NSImageView/removeSymbolEffect(ofType:options:animated:)-8tk6g)

Removes the symbol effect that matches the specified discrete effect type, using the specified options and animation setting.

[`removeAllSymbolEffects(options:animated:)`](/documentation/AppKit/NSImageView/removeAllSymbolEffects(options:animated:))

Removes all symbol effects from the image view, using the specified options and animation setting.

[`-  addSymbolEffect:`](/documentation/AppKit/NSImageView/addSymbolEffect:)

Adds a symbol effect to the image view with default options and animation.

[`-  addSymbolEffect:options:`](/documentation/AppKit/NSImageView/addSymbolEffect:options:)

Adds a symbol effect to the image view with the specified options and default animation.

[`-  addSymbolEffect:options:animated:`](/documentation/AppKit/NSImageView/addSymbolEffect:options:animated:)

Adds a symbol effect to the image view with the specified options and animation.

[`-  setSymbolImage:withContentTransition:`](/documentation/AppKit/NSImageView/setSymbolImage:withContentTransition:)

Sets a symbol image using the specified content-transition effect.

[`-  setSymbolImage:withContentTransition:options:`](/documentation/AppKit/NSImageView/setSymbolImage:withContentTransition:options:)

Sets a symbol image using the specified content-transition effect and options.

[`-  removeSymbolEffectOfType:`](/documentation/AppKit/NSImageView/removeSymbolEffectOfType:)

Removes the symbol effect that matches the specified effect type.

[`-  removeSymbolEffectOfType:options:`](/documentation/AppKit/NSImageView/removeSymbolEffectOfType:options:)

Removes the symbol effect that matches the specified effect type, using the specified options.

[`-  removeSymbolEffectOfType:options:animated:`](/documentation/AppKit/NSImageView/removeSymbolEffectOfType:options:animated:)

Removes the symbol effect that matches the specified effect type, using the specified options and animation setting.

[`-  removeAllSymbolEffects`](/documentation/AppKit/NSImageView/removeAllSymbolEffects)

Removes all symbol effects from the image view.

[`-  removeAllSymbolEffectsWithOptions:`](/documentation/AppKit/NSImageView/removeAllSymbolEffectsWithOptions:)

Removes all symbol effects from the image view, using the specified options.

[`-  removeAllSymbolEffectsWithOptions:animated:`](/documentation/AppKit/NSImageView/removeAllSymbolEffectsWithOptions:animated:)

Removes all symbol effects from the image view, using the specified options and animation setting.

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Inherits From

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

---

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)