iphone - iPhone上触摸空白区域时如何隐藏键盘

标签 iphone iphone-softkeyboard

通常,当您触摸文本输入区域时,键盘会弹出,当您触摸屏幕空白区域时,键盘会消失。如何实现这一点?

就像我们在 iphone safari 中所经历的一样......

谢谢

最佳答案

更新方式(推荐):

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
   [self.view endEditing:YES];
}

这将结束对所有 subview 的编辑并辞去第一响应者的职务。

其他方式(枚举所有 TextView ):

这是一个逐步的步骤:

将 IBAction 添加到 View Controller ,例如 - (IBAction)backgroundTouch:(id)sender

在backgroundTouch操作中,您需要将resignFirstResponder消息发送到 View 中的所有文本框。这是不幸的但却是必要的,因为当前无法检索当前具有 FirstResponder 状态的对象。它应该看起来像这样:

- (IBAction)backgroundTouch:(id)sender {
  [someTextBox resignFirstResponder];
  [anotherTextBox resignFirstResponder];
}

向 View 添加一个按钮控件,调整其大小以覆盖整个可见区域(状态栏或任何选项卡或导航 Controller 除外)。选择该按钮,然后转至布局菜单并选择发送到底层。还将按钮的类型设置为自定义,如果您没有专门为其提供任何绘图代码,则该按钮是不可见的。

将按钮的 Touch Up Inside 事件连接到 backgroundTouch: 操作并尝试一下。

关于iphone - iPhone上触摸空白区域时如何隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/804563/

相关文章:

android - Web 移动应用程序中的蓝牙和通知

ios - Youtube iframe 未显示在 UIWebView 中

ios - 自动布局 : Xcode 6: Centering UI elements

ios - iOS模拟器上的软件Keyboard toggle可以一直打开吗?

iphone - 如何使用返回键关闭 UITextView 的键盘?

ios - deselectRowAtIndexPath 和 cell setSelected 有什么区别?

iphone - 更新核心数据(如果存在)或创建新的托管对象。我可以让这个更快吗?

iphone - 如何使用“完成”键盘按钮关闭 UITextView?

ios - 如何更改 iOS 中软键盘的显示标题?

ios - 如何在 iphone 中以编程方式隐藏键盘