I try to hide keyboard on iPad but I don't know why resignFirstResponder don't work. But popToRoot has work well.
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
NSString *desc = [NSString stringWithFormat:@"%@",[descTF text]];
[textField resignFirstResponder];
[self.navigationController popToRootViewControllerAnimated:YES];
return YES;
}
So Could you guide me what should I do please ??
Is this field inside a
UIModalPresentationFormSheet
? If so, it's a known issue that you can not dismiss the keyboard programmatically until the view controller gets dismissed.UPDATE: according to this thread from the Apple Developer Forums, a possible workaround for this is to present the sheet view control from inside a navigation controller subclass that implements the disablesAutomaticKeyboardDismissal method. So something like:
To follow up on samvermette's answer, if it is inside a
UIModalPresentationFormSheet
you can now override thedisablesAutomaticKeyboardDismissal
method to get the behavior you desire. Add the following method to your class and theUITextFields
andUITextViews
will respond to resignFirstResponder.You should never have occasion to send
-resignFirstResponder
. What you should do is just send-endEditing:YES
to the view in question.(Apologies... this is the fourth place on the StackOverflow site where I'm posted this fix..)
I had huge problems with XCode 5 & iOS 7, trying to get the onscreen keyboard to hide.
Eventually, I found a very simple solution: I just disabled the
UITextFields
in my form. Magically, this was enough to make the onscreen keyboard slide away.More details here
Surprisingly, this even works on Modal
UIViewControllers
. Yeah, it surprised me aswell !!Did you implement the
UITextFieldDelegate
? If you had implemented that then this, then it should work.