简单的方法来解除键盘?

我有很多控件分布在桌子上的许多表格单元格中,我想知道是否有更简单的方法来解除键盘,而不必遍历所有控件并将它们全部作为第一响应者。 我想问题是......我将如何获得当前第一响应者的键盘?


尝试:
[self.view endEditing:YES];


您可以使用[view endEditing:YES]强制当前编辑的[view endEditing:YES]其第一个响应者状态。 这隐藏了键盘。

-[UIResponder resignFirstResponder]-[UIView endEditing:]将搜索子视图以查找当前的第一响应者。 所以,你可以(如将其发送到您的顶级视图self.viewUIViewController ),它会做正确的事。

(这个答案以前包含了其他一些解决方案,这些解决方案也起作用,但比必要的更复杂,为了避免混淆,我将它们移除了。)


您可以向应用程序发送无针对性的动作,它会随时退出第一响应者,而不必担心当前哪个视图具有第一响应者状态。

Objective-C的:

[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

Swift 3.0:

UIApplication.shared.sendAction(#selector(resignFirstResponder), to: nil, from: nil, for: nil)

在Mac OS X上,无针对性的操作在菜单命令中很常见,以下是iOS上的用法。

链接地址: http://www.djcxy.com/p/7693.html

上一篇: Easy way to dismiss keyboard?

下一篇: Visual Studio 2010 + Windows 10 not allowing me to clean solution