<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "tvOS: -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UITextInputDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(pl)UITextInputDelegate"
  },
  "title" : "UITextInputDelegate"
}
-->

# UITextInputDelegate

An intermediary between a document and the text input system.

```
@MainActor protocol UITextInputDelegate : NSObjectProtocol
```

## Overview

A [`UITextInputDelegate`](/documentation/UIKit/UITextInputDelegate) conveys notifications of pending or transpired changes in text and selection in the document. UIKit provides a private text input delegate, which it assigns at runtime to the [`inputDelegate`](/documentation/UIKit/UITextInput/inputDelegate) property of the object whose class adopts the [`UITextInput`](/documentation/UIKit/UITextInput) protocol.

## Topics

### Notifying the delegate of textual changes

[`-  textWillChange:`](/documentation/UIKit/UITextInputDelegate/textWillChange(_:))

Tells the input delegate when text is about to change in the document.

[`-  textDidChange:`](/documentation/UIKit/UITextInputDelegate/textDidChange(_:))

Tells the input delegate when text has changed in the document.

### Notifying the delegate of selection changes

[`-  selectionWillChange:`](/documentation/UIKit/UITextInputDelegate/selectionWillChange(_:))

Tells the input delegate when the selection is about to change in the document.

[`-  selectionDidChange:`](/documentation/UIKit/UITextInputDelegate/selectionDidChange(_:))

Tells the input delegate when the selection has changed in the document.

### Notifying the delegate of conversation changes

[`-  conversationContext:didChange:`](/documentation/UIKit/UITextInputDelegate/conversationContext(_:didChange:))

Tells the input delegate when text has changed in the input object for a conversation.

## Relationships

### Conforming Types

[`UIInputViewController`](/documentation/UIKit/UIInputViewController)

### Inherits From

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

---

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)