---
title: UITextCursorView
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uitextcursorview
---

# UITextCursorView

An interface you use to draw the insertion point in a piece of text.

## Declaration

```swift
@MainActor protocol UITextCursorView : UICoordinateSpace
```

## Overview

Overview Adopt the UITextCursorView protocol in a custom view you use to draw the insertion caret in one of your text views. Use your custom view in conjunction with a UITextSelectionDisplayInteraction object to apply your custom selection UI to one of your text views. This protocol provides details about when to display the blink animations. Use CALayer objects or your view’s draw(_:) method to draw and animate the caret. After adopting this protocol in your custom view, assign your view to the cursorView property of the interaction object you attached to your text view.

## Topics

### Determining the animation state

- [isBlinking](uikit/uitextcursorview/isblinking.md)
- [resetBlinkAnimation()](uikit/uitextcursorview/resetblinkanimation().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [UICoordinateSpace](uikit/uicoordinatespace.md)

### Conforming Types

- [UIStandardTextCursorView](uikit/uistandardtextcursorview.md)

## See Also

### Custom text selection

- [Adopting system selection UI in custom text views](uikit/adopting-system-selection-ui-in-custom-text-views.md)
- [UITextSelectionDisplayInteraction](uikit/uitextselectiondisplayinteraction.md)
- [UITextSelectionHighlightView](uikit/uitextselectionhighlightview.md)
- [UITextSelectionHandleView](uikit/uitextselectionhandleview.md)
- [UIStandardTextCursorView](uikit/uistandardtextcursorview.md)
- [UITextCursorDropPositionAnimator](uikit/uitextcursordroppositionanimator.md)
- [UITextLoupeSession](uikit/uitextloupesession.md)
