Search code examples
ioskeyboardreturnswiftaction

keyboard done key action swift iOS doesn't work


I'm new in stackoverflow, I have a problem with new swift code. I have custom the return button on keyboard with "Done", but when I tap on it, don't befall anything... How can I hide the keyboard on tap it? I have added a code (found on this site) for hide the keyboard when you tap somewhere ,not in the keyboard, but I can't custom it with tap on "done" button... Thank you before!!


Solution

  • You need to implement delegate method which is called when you hit done button:

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }
    

    You also need to conform to UITextFieldDelegate protocol:

    // I assume you override UIViewController class. If not add UITextFieldDelegate to your class
    class MyViewController: UIViewController, UITextFieldDelegate
    

    The last thing is set up your class to be a text field delegate:

    textField.delegate = self