iOS - 点击背景视图收起系统键盘

Posted sims

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS - 点击背景视图收起系统键盘相关的知识,希望对你有一定的参考价值。

我们在 ios 开发中经常会需要在输入框输入数据后,需要收起系统键盘,比如由于手机屏幕不是很大,可能由于输入信息后,系统键盘就会遮挡住下一步的按钮,而系统键盘有没有收起键,所以我们可以实现点击背景视图收起键盘

具体方法如下,只需要在对应的 ViewController 里面重写下面这个方法就可以了

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [super touchesBegan:touches withEvent:event];

    [self.view endEditing:YES];
}

首先说一下重写的这个事件:touchesBegan:withEvent: 该方法告诉当前对象,在一个视图(view)或者窗口(window)中有一个或多个触摸发生。也就是说当你点击当前视图的时候,该方法会被调用,那么我们就可以在这个方法里面编写收起系统键盘的代码。

再说说里面的 endEditing: 该方法引起视图(或者视图中的TextField)失去第一响应者(the first responder)的状态;

这个方法查找当前视图和子视图中是第一响应者的TextField,如果找到一个,它会要求该 TextField 不再作为第一响应者。如果把参数设置为 YES,该 TextField 将会被强制取消第一响应者状态,而不再做出要求。

以上是关于iOS - 点击背景视图收起系统键盘的主要内容,如果未能解决你的问题,请参考以下文章

ios 最新系统bug与解决——弹出键盘再收起时,原虚拟键盘位点击事件无效

ios 最新系统bug与解决——微信公众号中弹出键盘再收起时,原虚拟键盘位点击事件无效

iOS ViewController点击空白处收起键盘

iOS UITableView reloadData 导致键盘收起不能连续输入问题解决办法

iOS收起键盘

ios经验总结