IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,用户体验不好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下是结合隐藏键盘的几种方法:
第一,两种可以让键盘隐藏的方法:
1.[view endEditing:YES]
, 这个方法可以让当前View取消第一相应者,从而让View上的所有控件的键盘消失;
2.[textField resignFirstResponder]
,这个是比较常用的隐藏键盘的方法,即取消当前textField的第一响应者.
第二,下面是几种实现方式:
1.使用View的触摸事件 - (void)touchedBegan:(NSSet *)touched withEvent:(UIEvent *)event;
实现对键盘的隐藏,当点击View的区域就会触发该事件:
- (void)touchedBegan:(NSSet *)touched withEvent:(UIEvent *)event
- {
- [textField residnFirstResponder];
- }
2.对当前View添加触摸手势来实现键盘的隐藏:
- (void)viewDidLoad
- {
- [super viewDidLoad];
- UITapGestureRecognizer *tapGesture = [UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapToHideKeyboard:)];
- }
- (void)tapToHideKeyboard:(UITapGestureRecognizer *)tap
- {
- [textField resignFirstResponder];
- }
第三,修改xib中UIView的Custom class为UIControl,UIControl是一些常用控件如UIButton的父类,是UIView的派生类,实现了对触摸和下按的封装。
1、首先设置xib中得UIView的Custom class为UIControl
2、设置关系事件,将xib中得UIView拖到.h区中
3、编写View的点击事件
- (IBAction)touchView:(id)sender
- {
- [self.view endEditing:YES];
- }
总结:以上即为三种常用的隐藏键盘的方式供大家参考!