我们经常会碰到一些情况,比如,需要在superview上增加一个scrollview,或者view,在scrollview和view上添加控件,
比如添加一个textfield,那么原来使用的点击空白处让键盘消失的方法,就无法响应,因为响应的方法主要作用在superview上,
我们可以这样做来实现这样的操作:
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)];
//设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。
tapGestureRecognizer.cancelsTouchesInView = NO;
//将触摸事件添加到当前view
[self.view addGestureRecognizer:tapGestureRecognizer];
然后实现它的方法就可以了:
-(void)keyboardHide:(UITapGestureRecognizer*)tap{
[_zhuCeTextField resignFirstResponder];
[_yanZhengTextField resignFirstResponder];
}
比较下原来的方法:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[textFiled resignFirstResponder];
}
合适的时候用合适的方法
作者:稻草人11223
标签:控件,tapGestureRecognizer,resignFirstResponder,UITapGestureRecognizer,键盘,点击,方法,空白处 From: https://blog.51cto.com/u_13188203/7201411