回收键盘
2021-05-21 本文已影响0人
江湖闹士
IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法:
首先说明两种可以让键盘隐藏的Method:
1、[view endEditing:YES] 这个方法可以让整个view取消第一响应者,从而让所有控件的键盘隐藏。
2、[textFiled resignFirstResponder] 这个则是比较常用的让某个textFiled的键盘隐藏。
第一种: 使用view的touchesBegan:触摸事件来实现对键盘的隐藏,当点击view的区域就会触发这个事件
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[_textField endEditing:YES];
}
第二种:创建自定义的触摸手势来实现对键盘的隐藏
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)];
//通俗的讲:设置成NO,不光点空白区域开一回收键盘,而且点击其他控件也能回收键盘。默认是YES,只能是点击空白区域才能回收键盘。
tap.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:tap];
[tap release];
}
- (void)keyboardHide:(UITapGestureRecognizer *)tap {
[_textField resignFirstResponder];
}