开发者

ios remove keyboard

开发者 https://www.devze.com 2023-02-06 09:21 出处:网络
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 cli开发者_StackOverflowck the button, the keyboard is still here...

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 cli开发者_StackOverflowck the button, the keyboard is still here... how can I remove it?

thanks!


You need to use resignFirstResponder, see this similar question.

[myTextField resignFirstResponder];


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

[self.view endEditing:YES];


Call -resignFirstResponder on your currently-editing text field.


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消