---
title: BETextInputDelegate
framework: browserenginekit
role: symbol
role_heading: Protocol
path: browserenginekit/betextinputdelegate
---

# BETextInputDelegate

A delegate protocol that a browser text view uses to notify the text system of changes.

## Declaration

```swift
protocol BETextInputDelegate
```

## Mentioned in

Integrating custom browser text views with UIKit

## Overview

Overview You don’t conform to BETextInputDelegate in your classes, or implement its methods. The system creates objects that conform to this protocol and sets them as the asyncInputDelegate on your browser’s custom text views.

## Topics

### Text selection

- [selectionWillChange(for:)](browserenginekit/betextinputdelegate/selectionwillchange(for:).md)
- [selectionDidChange(for:)](browserenginekit/betextinputdelegate/selectiondidchange(for:).md)

### Deferring actions to the text system

- [shouldDeferEventHandlingToSystem(for:context:)](browserenginekit/betextinputdelegate/shoulddefereventhandlingtosystem(for:context:).md)
- [textInput(_:deferReplaceTextActionToSystem:)](browserenginekit/betextinputdelegate/textinput(_:deferreplacetextactiontosystem:).md)

### Providing completion suggestions

- [textInput(_:setCandidateSuggestions:)](browserenginekit/betextinputdelegate/textinput(_:setcandidatesuggestions:).md)

### Removing stored context information

- [invalidateTextEntryContext(for:)](browserenginekit/betextinputdelegate/invalidatetextentrycontext(for:).md)

## See Also

### Custom text views

- [Integrating custom browser text views with UIKit](browserenginekit/integrating-custom-browser-text-views-with-uikit.md)
- [Supporting extended text interactions](browserenginekit/support-extended-text-interactions.md)
- [BETextInput](browserenginekit/betextinput.md)
