ios アプリのテキスト入力で次のテキストボックスにサクッと移動する方法


テキストボックスが並んでいて、 Enterされたら次のテキストボックスにフォーカスを移す方法

Storyboard でそれぞれの UITextField に Tagを付与。

上から順にTag 1,2,3

ViewControllerで

class ChangePasswordViewController: UIViewController, UITextFieldDelegate, UINavigationControllerDelegate {

    // ...

    // MARK: - TextFieldDelegate
    func textFieldShouldReturn(textField: UITextField) -> Bool {
        // 今フォーカスが当たっているテキストボックスからフォーカスを外す
        textField.resignFirstResponder()
        // 次のTag番号を持っているテキストボックスがあれば、フォーカスする
        let nextTag = textField.tag + 1
        if let nextTextField = self.view.viewWithTag(nextTag) {
            nextTextField.becomeFirstResponder()
        }
        return true
    }

}