在iOS的开发中经常会用到输入框,当你点击输入框是键盘会自动弹出,十分方便。但要收回键盘确十分麻烦,需要实现输入框中return的代理方式,当点击return键是键盘才会回收,这种用户体验十分的糟糕。所以我们可以通过方法来实现点击界面空白处来实现键盘的回收。以下提供两种方法以供参考:
要使键盘回收实现,具体的方法为使他取消第一响应者的身份即可
这个‘他’可以是当前的view:
[self.view endEditing:YES] ;
这个方法可以让整个view取消第一响应者的身份,从而让所有控件的键盘隐藏。
另一种比较常用的做法是让当前的textFiled失去第一响应者的身份,让键盘隐藏
[textFiled resignFirstResponder] ;
这里介绍两种使textFiled失去第一响应者的方法
1.使用系统提供的view方法touchesBegan:当点击view时会触发这个点击事件:
<span style="font-size:24px;">-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[textFiled resignFirstResponder];
}</span>
2.通过自定义的触摸手势来实现:
<span style="font-size:24px;"> UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(keyboard:)];
<span style="color:#33cc00;">//定义一个手势 UITapGestureRecognizer是轻拍手势识别器,能识别轻拍操作</span>
tap.cancelsTouchesInView = NO;
<span style="color:#33cc00;">//表示当前控件响应结束后会转到其他控件上,默认为YES</span>
[self.view addGestureRecognizer:tap];
<span style="color:#33cc00;">//将定义的的手势加到view上</span></span>
<span style="font-size:24px;">-(void)keyboard:(UITapGestureRecognizer *)tap{
[textField resignFirstResponder];
<span style="color:#33cc00;">//keyboard方法的实现,当前textField失去第一响应者身份</span>
}</span>
以上就是两种常用的键盘隐藏方法,欢迎交流