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 将会被强制取消第一响应者状态,而不再做出要求。

posted @   sims  阅读(737)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示