In iOS 8+ I noticed that if you have an textfield that is currently the firstResponder in a view controller that was presented, when the view controller is dism
firstResponder
For Swift 3/4
override func viewWillDisappear(_ animated: Bool) { self.view.endEditing(true) }
Also if it's not resigning try calling resignFirstResponder on the text field you're trying to end typing on.
resignFirstResponder
override func viewWillDisappear(_ animated: Bool) { textField.resignFirstResponder() }