2012-03-25 14 views
2

UITableViewの背景でタップを検出する最もクリーンな方法は何ですか?私はキーボードを却下するためにこれらをキャッチしたいと思います。UITableViewの背景でのタップの検出

残念ながら、UITapGestureRecognizerをtableviewに追加すると、セルをタップするとハンドラが起動します。あなたのUI(表)のViewControllerにおいてたりのUITableViewに

答えて

2

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

を無効にし、キーボードが表示されている場合、それを閉じ。また、このイベントをサブビューに転送することを忘れないでください。

+0

これはまた、セルのタップをキャッチしませんか?私はそれを望んでいない。 –

+0

タッチがUITableViewCellの境界にある場合、イベントをサブビューに転送せずに単にキーボードを閉じないでください:) – 0xSina

+0

まあ、私はすべてのセルのrectsをつかんでタッチを探すことができたと思います。少し高いレベルで何かを望んでいる。 –

1

テーブルビューの背景ビューでジェスチャを追加します。このように:

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self 
                      action:@selector(tableViewBackgroundTap)]; 

[self.tableView.backgroundView addGestureRecognizer:tapGesture]; 
+1

それは私のためには機能しません –

+0

'backgroundView'を最初に作成し&設定しなければ動作しません。 –

関連する問題