行を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];
}
ありがとう!