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

# NSTextInsertionIndicator

A view that represents the insertion indicator in text.

```
class NSTextInsertionIndicator
```

## Overview

[`NSTextView`](/documentation/AppKit/NSTextView) and [`NSTextField`](/documentation/AppKit/NSTextField) both use [`NSTextInsertionIndicator`](/documentation/AppKit/NSTextInsertionIndicator) to display the insertion indicator. You can use this indicator if you have your own text engine or need to display an indicator elsewhere.

To use the indicator, instantiate an [`NSTextInsertionIndicator`](/documentation/AppKit/NSTextInsertionIndicator), then add the view to your view hierarchy. Set the indicator view’s frame to where you want to display a text insertion indicator. The indicator has the same height as the indicator view’s frame, and centers horizontally within the indicator view’s frame.

The [`NSTextInsertionIndicator.DisplayMode`](/documentation/AppKit/NSTextInsertionIndicator/DisplayMode-swift.enum) specifies whether the indicator hides, remains visible, or blinks (automatic).

When set to [`NSTextInsertionIndicator.DisplayMode.automatic`](/documentation/AppKit/NSTextInsertionIndicator/DisplayMode-swift.enum/automatic), the indicator stops blinking when you set the frame. The indicator starts blinking when the frame doesn’t change for a period of time. When the user dictates, the indicator displays a trailing glow when it is moved.

Set the [`NSTextInsertionIndicator.DisplayMode`](/documentation/AppKit/NSTextInsertionIndicator/DisplayMode-swift.enum) to [`NSTextInsertionIndicator.DisplayMode.automatic`](/documentation/AppKit/NSTextInsertionIndicator/DisplayMode-swift.enum/automatic) when your custom view becomes the first responder. When your custom view resigns first responder, set the [`displayMode`](/documentation/AppKit/NSTextInsertionIndicator/displayMode-swift.property) to [`NSTextInsertionIndicator.DisplayMode.hidden`](/documentation/AppKit/NSTextInsertionIndicator/DisplayMode-swift.enum/hidden) to indicate that key events aren’t sent to your view.

By default the indicator’s color is [`textInsertionPointColor`](/documentation/AppKit/NSColor/textInsertionPointColor). You can set a different color.

## Topics

### Configuring indicators

[`color`](/documentation/AppKit/NSTextInsertionIndicator/color)

The color of this indicator.

[`effectsViewInserter`](/documentation/AppKit/NSTextInsertionIndicator/effectsViewInserter)

An optional closure the system calls during dictation.

### Setting the display mode

[`displayMode`](/documentation/AppKit/NSTextInsertionIndicator/displayMode-swift.property)

A value that describes the display mode of an indicator.

[`automaticModeOptions`](/documentation/AppKit/NSTextInsertionIndicator/automaticModeOptions-swift.property)

Options that affect the automatic display mode.

[`AutomaticModeOptions`](/documentation/AppKit/NSTextInsertionIndicator/AutomaticModeOptions-swift.struct)

Options that affect the automatic display mode.

[`DisplayMode`](/documentation/AppKit/NSTextInsertionIndicator/DisplayMode-swift.enum)

Constants that determine how to display the system text cursor in a custom text UI.

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### 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)