本記事ではUITextFieldDelegateの7つのメソッドの使い方をまとめています。
環境:
- Swift5.0
- Xcode10.2

目次
UITextFieldDelegateとは
UITextFieldDelegateは、UITextFieldの編集やバリデーションを行いたい時に使えるメソッドの集まりのことです。

では実際に、UITextFieldDelegateにはどんなメソッドがあるのかみていきましょう。
UITextFieldDelegateの7つのメソッド
1.textFieldShouldBeginEditing
できること:
- テキストフィールドがタップされた時、入力可能になる直前に呼ばれるメソッド
- return trueでテキスト入力可能,return falseで入力不可になる
書き方:
1 2 3 |
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { return true } |
2.textFieldDidBeginEditing
できること:
- テキストフィールがタップされ、入力可能になったあとに呼ばれるメソッド
- テキストの値を取得したりできる(textField.text)
書き方:
1 2 3 |
func textFieldDidBeginEditing(_ textField: UITextField) { print(textField.text) //テキストフィールドのテキストの値を出力 } |
3.textFieldShouldEndEditing
できること:
- キーボードのReturnキーが押されてテキストフィールドの入力が完了する直前に呼ばれるメソッド
- return trueでキーボード閉じる。return falseでキーボード表示したままにする。
書き方
1 2 3 |
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { return true } |
4.textFieldDidEndEditing
できること:
- キーボードが閉じたあとに呼ばれるメソッド
- テキストの値を取得したりできる(textField.text)
使い方:
1 2 3 |
func textFieldDidEndEditing(_ textField: UITextField) { print(textField.text) //テキストフィールドの値を出力 } |
5.textFieldShouldClear
できること:
- キーボードのClearキーが押された時に呼ばれるメソッド
- return trueで、クリア、return falseで何もしない
使い方:
1 2 3 |
func textFieldShouldClear(_ textField: UITextField) -> Bool { return true } |
6.textFieldShouldReturn
できること:
- Returnキーが押された時、呼ばれるメソッド
- self.view.endEditing(true)でキーボード閉じる
- return trueで、リターン完了、return falseで何もしない
書き方:
1 2 3 4 |
func textFieldShouldReturn(_ textField: UITextField) -> Bool { self.view.endEditing(true) //キーボード閉じる return true } |
7.shouldChangeCharactersIn
できること:
- テキスト編集中に呼ばれる
- 入力文字数の制限をしたりできる
書き方:
1 2 3 |
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { return true } |
UITextFieldDelegateオススメの解説動画
下の動画テキストフィールド作ったり一から学べるので面白いです!
おわりに
以上で、UITextFieldDelegateについてはおわりです。

本ブログでは他にも面白いチュートリアルなど作っているので参考にしてみてください!!!
参考:
http://kussuue.com/2017/09/textfielddelegate_method_detail/