ios remove keyboard

10.5k Views Asked by At

I have some text edit fields, and also a button to show a uidatepicker.. if I go to the uitextedit, the keyboard appears, but when I click the button, the keyboard is still here... how can I remove it?

thanks!

4

There are 4 best solutions below

1
On BEST ANSWER

You need to use resignFirstResponder, see this similar question.

[myTextField resignFirstResponder];
0
On

See this answer for the easiest way to do it: Easy way to dismiss keyboard?

[self.view endEditing:YES];
0
On

Call -resignFirstResponder on your currently-editing text field.

0
On

There are cases where I don't have direct access to the 'first responder', so I tend to use a different approach. I have a utility class for the keyboard with, among other functions, this one:

+ (BOOL)dismiss:(UIView *)view
{
    if (view.isFirstResponder) {
        [view resignFirstResponder];
        return YES;
    }
    for (UIView *subView in view.subviews) {
        if ([Keyboard dismiss:subView]) // It's calling itself, just to be perfectly clear
            return YES;
    }
    return NO;
}

This lets me simply call for example: [Keyboard dismiss:self.view] from anywhere within a UIViewController.