Switching between Text fields on pressing return key in Swift

前端 未结 15 1441
名媛妹妹
名媛妹妹 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:38

    Swift & Programmatically

    class MyViewController: UIViewController, UITextFieldDelegate {
    
        let textFieldA = UITextField()
        let textFieldB = UITextField()
        let textFieldC = UITextField()
        let textFieldD = UITextField()
    
        var textFields: [UITextField] {
            return [textFieldA, textFieldB, textFieldC, textFieldD]
        }
    
        override func viewDidLoad() {
            // layout textfields somewhere 
            // then set delegate
            textFields.forEach { $0.delegate = self }
        }
    
        func textFieldShouldReturn(_ textField: UITextField) -> Bool {
            if let selectedTextFieldIndex = textFields.firstIndex(of: textField), selectedTextFieldIndex < textFields.count - 1 {
                textFields[selectedTextFieldIndex + 1].becomeFirstResponder()
            } else {
                textField.resignFirstResponder() // last textfield, dismiss keyboard directly
            }
            return true
        }
    }
    

提交回复
热议问题