Search code examples
xcodeipadios4keyboard

resignFirstResponder not hiding keyboard on textFieldShouldReturn


I have a view with a UITextField which should hide the keyboard when return is pressed.

My function is this:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
 if ( textField == userPassword ) {
  [textField resignFirstResponder];
 }
 return YES;
}

Normally the keyboard should be hidden but it stays on the screen. resignFirstResponder is correctly called. What am I missing?


Solution

  • I see you have the iPad tag on this. Do you happen to be presenting a modal view using UIModalPresentationFormSheet? If so, it looks like this is a limitation of the FormSheet modal presentation (either Apple is doing it intentionally for some reason, or it is a bug). See these other questions for more details:

    Modal Dialog Does Not Dismiss Keyboard

    Modal View Controller with keyboard on landscape iPad changes location when dismissed