0

私のクラスにはのUIImageViewというカスタムを持つUITableViewがあります。UITableViewのUIGestureRecognizerハンドルの扱い

私は、カスタムメソッド(handleSingleTouch:) を処理するために、このUIImageView上のタッチを検出する必要があると私は、セルが選択されたときに-didSelectRowAtIndexPathを呼び出す必要があります。

は、だから私は、このように私の TableViewUIGestureRecognizerを追加しました:

UIGestureRecognizer *GEST=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTouch:)]; 

[self.myTable addGestureRecognizer:GEST]; 
GEST.delegate=self; 
[GEST release]; 

[GEST setCancelsTouchesInView:NO]; 
[GEST setDelaysTouchesEnded:NO]; 

競合があります: UIImageViewをタッチするたびにtableviewGestureRecognizerメソッドを起動だけでなく、didSelectRowAtIndexPathが呼び出されます。

誰かが電話することなくgestureRecognizerMethodに電話する方法を知っていますdidSelectRowAtIndexPath

答えて

0

ジェスチャ認識ツールをテーブルではなく画像に追加してみます。この回答を見るhttps://stackoverflow.com/a/7760402

+0

これは素敵で素朴な解決策かもしれませんが、負荷がかかるN個のアイテムがあれば、パフォーマンスとメモリを節約できますか? –

+0

@Denis - *非常に*遅い返信のために申し訳ありません。ビューはリサイクルされるので、パフォーマンスとメモリは問題ではないはずです。したがって、このセットアップは初めて発生します(私が間違っていない場合)。 –

0

セル全体で反応する必要があるので、私はそれを行う方法を考えることはできません。しかし、あなたができることはtagあなたのUIImageViewであり、それからUIImageViewreturnのために、didSelectRowAtIndexPathの始めにチェックしてください。

+0

urすぐにanswareのためのtnx! tnxあなたに私はgroseソリューションを見つけましたが、それは動作します!特定のタグを持つUIImageViewのタッチを検出するたびに、BOOL isImagePressedをYESに設定し、特定のメソッドを制御するためにdidSelectRowAtIndexPathにif(!isImagePressed)という条件を設定します。 –

+0

someOne他の方がよりクリーンなソリューションを持っていますか? –

関連する問題