3

我有一些文本编辑字段,还有一个显示 uidatepicker 的按钮。如果我去 uitextedit,键盘会出现,但是当我点击按钮时,键盘仍然在这里......我怎样才能删除它?

谢谢!

4

4 回答 4

9

你需要使用resignFirstResponder,看到这个类似的问题

[myTextField resignFirstResponder];
于 2011-01-20T23:13:53.927 回答
5

请参阅此答案以获得最简单的方法:轻松关闭键盘?

[self.view endEditing:YES];
于 2014-01-21T12:02:13.297 回答
2

调用-resignFirstResponder您当前正在编辑的文本字段。

于 2011-01-20T23:14:00.737 回答
0

在某些情况下,我无法直接访问“第一响应者”,因此我倾向于使用不同的方法。我有一个用于键盘的实用程序类,其中包括以下功能:

+ (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;
}

这让我可以简单地调用例如:[Keyboard dismiss:self.view]UIViewController.

于 2013-07-11T16:29:54.920 回答