🦅
【Swift5/Xcode13】TextFieldでReturnを押下すると次の入力フォームにフォーカスする
なぜ実装するか
例えば氏名,電話番号,住所など複数の入力がある場合、わざわざTextFieldをタップする仕組みになるよりは、キーボードのReturn(改行)だけで操作できる方がユーザリビティだからです。
実装

func settingTextFieldDelegate() {
let createViewView = self.view as! CreateViewView
createViewView.folderNameLabel.delegate = self
createViewView.deckNameLabel.delegate = self
createViewView.deckCodeLabel.delegate = self
}
extension CreateViewViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
//リターンキーが押された時に実行される
// 今フォーカスが当たっているテキストボックスからフォーカスを外す
textField.resignFirstResponder()
// 次のTag番号を持っているテキストボックスがあれば、フォーカスする
let nextTag = textField.tag + 1
if let nextTextField = self.view.viewWithTag(nextTag) {
nextTextField.becomeFirstResponder()
}
return true
}
}
実装の際に、xibファイル上でtagを以下のように設定します。

Discussion