Switching between Text fields on pressing return key in Swift

前端 未结 15 1517
名媛妹妹
名媛妹妹 2020-12-04 09:25

I\'m designing an iOS app and I want that when the return key is pressed in my iPhone it directs me to the next following text field.

I have found a couple of similar

15条回答
  •  孤街浪徒
    2020-12-04 09:35

    If you have a lot of textfield components my be it could be better to use an outlet collection, linking textfields and setting Return Key from interface builder

    @IBOutlet var formTextFields: [UITextField]!
    
    override func viewDidLoad() {
      for textField in formTextFields {
        textField.delegate = self
      }
    }
    
    extension RegisterViewController: UITextFieldDelegate {
      func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        if let componentIndex = formTextFields.firstIndex(of: textField) {
          if textField.returnKeyType == .next,
            componentIndex < (formTextFields.count - 1) {
            formTextFields[componentIndex + 1].becomeFirstResponder()
          } else {
            textField.resignFirstResponder()
          }
        }
        return true
      }
    }
    

提交回复
热议问题