ios 键盘收起
2016-11-22 13:56
246 查看
在使用
大体来说,收起键盘的方法有:
让textFiled放弃成为第一响应者(
让view或者子view强制结束编辑状态(
1.输入完以后用户点击
可以点击
要想实现点击
然后实现协议方法
还有一些比较笨的方法也可以实现达到点击背景后收起键盘的效果,比如:在背景view上面加手势,添加UIButton或者view,然后在对应的点击事件的监听方法中实现
3.不用view实现
如果说在比较难获取viewController的view时,可以使用下面的方法:
或者
文/张飞_(简书作者)
原文链接:http://www.jianshu.com/p/532d12375e9a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
UITextField的时候,我们会和键盘打交道,有时候要求弹出来的键盘类型是数字键盘,有时候要求我们弹出来的是一般的键盘。当我们输入完成的时候,就涉及到在上什么时候收回键盘的事情了。收回键盘分下面的情况来讨论。
大体来说,收起键盘的方法有:
让textFiled放弃成为第一响应者(
resignFirstResponder)
让view或者子view强制结束编辑状态(
endEditing)
1.输入完以后用户点击return
后收起键盘。
可以点击return收起键盘并不意味着弹出来的键盘一定都有
return这个按键,比如数字键盘类型就没有,
UIKeyboardTypeWebSearch类型的键盘
return键就变成了
Go键,需要注意的是这时候的
Go键相当于
return键。
要想实现点击
return让键盘收起,首先需要设置textField代理,当然还有遵循
UITextFieldDelegate协议:
_textField.delegate = self;
然后实现协议方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField;,当然你也可以在这个方法里 main实现一些需求逻辑,比如判断输入的内容符不符合要求等。
- (BOOL)textFieldShouldReturn:(UITextField *)textField{ return [textField resignFirstResponder]; }
2.点击背景后收起键盘
点击背景收起键盘可以实现view的- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event方法,然后执行view的
- (BOOL)endEditing:(BOOL)force;方法。
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ [self.view endEditing:YES]; //实现该方法是需要注意view需要是继承UIControl而来的 }
还有一些比较笨的方法也可以实现达到点击背景后收起键盘的效果,比如:在背景view上面加手势,添加UIButton或者view,然后在对应的点击事件的监听方法中实现
resignFirstResponder或者
endEditing。
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)]; //设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。 tapGestureRecognizer.cancelsTouchesInView = NO; //将触摸事件添加到view上 [self.view addGestureRecognizer:tapGestureRecognizer];
-(void)keyboardHide:(UITapGestureRecognizer*)tap{ [textFiled resignFirstResponder]; }
3.不用view实现endEditing
的方法
如果说在比较难获取viewController的view时,可以使用下面的方法:[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
或者
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil f
文/张飞_(简书作者)
原文链接:http://www.jianshu.com/p/532d12375e9a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- iOS隐藏键盘————给iOS键盘添加收起(隐藏)按钮
- [iOS-GQiang]iOS UITextField收起键盘
- iOS开发-关闭/收起键盘方法总结
- iOS 三种收起键盘的方法
- iOS-开发技巧-三种收起键盘的方法
- IOS 点击键盘以外的地方收起键盘
- iOS TextFiled、TextView 关于键盘的收起以及处理键盘遮挡
- iOS点击空白处或点击背景收起键盘
- iOS-UITextView 的收起键盘及动态大小
- iOS开发 UI 收起键盘的几种方法
- iOS开发-关闭/收起键盘方法总结
- iOS 设置编辑时键盘不挡住编辑框以及收起键盘
- IOS开发键盘上方的view随着键盘的弹出、收起、键盘输入法改变而移动
- iOS 收起键盘
- IOS点击任意屏幕收起键盘
- iOS Dev (54) 键盘弹出后收起时View随之移动
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效 或者点击UITableView的空白处收起键盘
- iOS 不通过textfield代理(与html5交互) 收起键盘
- 【读书笔记】iOS-开发技巧-三种收起键盘的方法
- iOS开发-关闭/收起键盘方法总结