您的位置:首页 > 移动开发 > IOS开发

iOS 点击空白处收回键盘的方法

2015-12-13 19:36 609 查看
     在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>

以上就是两种常用的键盘隐藏方法,欢迎交流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: