行をUITableViewクリックすると、別の行UIViewControllerが特定の行の詳細とともにプッシュされます。私の問題は、画面に触れてキーボードを閉じたいことです (これもUITableView)、行をクリックするとUITableView、キーボードは閉じますが、didSelectRowメソッドは機能しません。ViewControllerセルをクリックすると、新しいものはプッシュされません。
また、逆に、変更すると、TableViewセルをクリックしてキーボードを閉じることができ、他のViewControllerがプッシュされますが、他の場所に触れてもキーボードは閉じられません。
私は何をすべきか?
- (IBAction)hideKeyboard:(id)sender
{
[tfFoodsSearchQuery resignFirstResponder];
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UITableView class]])
{
// we touched a button, slider, or other UIControl
return YES; // handle the touch
}
NSLog(@"Touch");
return NO; // ignore the touch
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(hideKeyboard:)];
[self.view addGestureRecognizer:tap];
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard:)];
gestureRecognizer.delegate = self;
[self.tvFoods addGestureRecognizer:gestureRecognizer];
}
ありがとう!