UITextFieldDelegate protocol defines methods that you use to manage the editing and validation of text in a
UITextField object. All of the methods of this protocol are optional.
- iOS 8.0+
- tvOS 9.0+
A text field calls the methods of its delegate in response to important changes. You use these methods to validate text that was typed by the user, to respond to specific interactions with the keyboard, and to control the overall editing process. Editing begins shortly before the text field becomes the first responder and displays the keyboard (or its assigned input view). The flow of the editing process is as follows:
Before becoming the first responder, the text field calls its delegate’s
textFieldShouldBeginEditing(_:)method. Use that method to allow or prevent the editing of the text field’s contents.
The text field becomes the first responder.
In response, the system displays the keyboard (or the text field’s input view) and posts the
UIKeyboardDidShownotifications as needed. If the keyboard or another input view was already visible, the system posts the
The text field calls various delegate methods during editing:
Whenever the current text changes, it calls the
textField(_:shouldChangeCharactersIn:replacementString:)method and posts the
It calls the
textFieldShouldClear(_:)method when the user taps the built-in button to clear the text.
It calls the
textFieldShouldReturn(_:)method when the user taps the keyboard’s return button.
Before resigning as first responder, the text field calls its delegate’s
textFieldShouldEndEditing(_:)method. Use that method to validate the current text.
The text field resigns as first responder.
For more information about the features of a text field, see