keyboard done key action swift iOS doesn't work

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

textField.delegate = self

can be replaced by enter image description here

This will create the necessary connections between your View, its component and will make the textFieldShouldReturn method work as expected.