---
title: textDocumentProxy
framework: uikit
role: symbol
role_heading: Instance Property
path: uikit/uiinputviewcontroller/textdocumentproxy
---

# textDocumentProxy

A proxy to the text input object that the custom keyboard is interacting with.

## Declaration

```swift
var textDocumentProxy: any UITextDocumentProxy { get }
```

## Mentioned in

Configuring a custom keyboard interface

## Discussion

Discussion This property conforms directly or indirectly to the following protocols: The UITextDocumentProxy protocol provides textual context around the insertion point The UIKeyInput protocol provides the insert and delete methods, and lets you find out if the text object is empty The UITextInputTraits protocol provides insight into the characteristics of the text input object, such as whether it requests a style of autocapitalization and which sort of keyboard it expects (for example, email address, URL, number pad, or default). Employ this property to interact with the current text input object. For example, to insert text you would write code like this: [self.textDocumentProxy insertText:@"hello "]; // Inserts the string "hello " at the insertion point To delete text, you’d write code like this: [self.textDocumentProxy deleteBackward];       // Deletes the character to the left of the insertion point

## See Also

### Interacting with a text input object

- [UITextDocumentProxy](uikit/uitextdocumentproxy.md)
