通常,当您触摸文本输入区域时,键盘会弹出,当您触摸屏幕空白区域时,键盘会消失。如何实现这一点?
就像我们在 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/