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;
}