我在 Google 和 Stackoverflow 上搜索了几个小时,尝试了它们但没有运气。
我上面有一个 UITableViewtblDepartment
和一个 UISearchBar studentSearch
。
当用户在搜索框外点击时,我添加了一个UITapGestureRecognizer
以从文本框中关闭键盘:studentSearch
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.tblDepartment addGestureRecognizer:gestureRecognizer];
- (void)hideKeyboard
{
[studentSearch resignFirstResponder];
}
之后,didSelectRowAtIndexPath:(NSIndexPath *)indexPath
当我在tblDepartment
. 我知道gestureRecognizer
是这个原因。
那么,如何隐藏键盘并仍然允许用户选择行?
我尝试了这段代码,但没有奏效:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view isDescendantOfView:tblDepartment]) {
return NO;
}
return YES;
}