0

テーブルビューセクションでのユーザータッチを検出するにはどうすればよいですか?

私は試しましたが、成功UITapGestureRecognizerしませんでした。touchesEnded:

タッチ終了例

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
  UITouch *Touch = [[event allTouches] anyObject];
  if (CGRectContainsPoint([_Sec0 frame], [Touch locationInView:_Table])) {
    NSLog(@"SECTION 0");
  } else if (CGRectContainsPoint([_Sec1 frame], [Touch locationInView:_Table])) {
    NSLog(@"SECTION 1");
}

UITapGestureRecognizerの例

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Tapped:)];
[_Sec0 addGestureRecognizer:tap];
[tap release];

何も起こらなかった。
タッチは、テーブル以外のビューのどこでも呼び出されます。
タップジェスチャは呼び出されません。

何か案が?

編集:もちろん、代理人がいます。

ありがとう。

4

2 に答える 2

2

UITableViewはタッチを消費しており、レスポンダーチェーンに送信していません。

これは、タッチが下のUIViewに到達して、関数をトリガーしないことを意味します。

私はあなたを助けるかもしれないこの質問を見つけました...

UITableViewがタッチイベントを消費するのを停止して、親ビューのスライドメニューが水平方向のスワイプを検出できるようにします

于 2012-12-13T10:00:41.697 に答える
0

セクションに触れるとはどういう意味ですか?セルとヘッダーの選択は。で検出できますUITableViewDelegate。それはあなたを助けることができますか?

于 2012-12-13T14:33:37.867 に答える