2012-04-12 4 views
0

私の現在のテーブルビューコントローラでは、クリックホイールiPodのOn-The-Goキューイング機能を使用したのと非常によく似たタッチアンドホールド機能を実装したいと考えています。UITableViewCellでタッチアンドホールドを検出しましたが、私のオプションは何ですか?

私はいくつかの投稿を読んでいて、UILongPressGestureRecognizerを使用するための提案を見てきました。長押しが検出された場合

  1. を、どのように私は んと呼ばれる(あるいはされてから didSelectRowAtIndexPath方法を防ぐことができ、完全にそれを使用しないように:私は、それは私のためにカップルより多くの質問を持ち出すないことを行うことができながら、そして 私のUITableViewCellのサブクラスでタップジェスチャー認識器を実装?)
  2. 長押しが は、ハイライトの強調表示されたセル 点滅/不透明度が行くのiPodスタイル(に似て検出された後、どのようにセルをアニメーションに行きますか上下に数回)。

ガイダンスに感謝します。

答えて

1

長いプレスレコグナイザを使用して起動すると、didSelectRowAtIndexPathは発生しません。

ジェスチャ認識機能の状態を検出し、「開始」状態が検出された後にセルをアニメートし、「終了」状態が検出されたときにアニメーションを終了することができます。

(gestureRecognizer.state == UIGestureRecognizerStateBegan)もし... (gestureRecognizer.state == UIGestureRecognizerStateEnded)であれば...

+0

は私が終了し始めたからスクロールを無効にすることができます方法はありますか? – sooper

+0

私はこれがデフォルトの動作だと信じています。試してみてください!そうでない場合は、ジェスチャ認識器の委譲メソッド 'shouldRecognizeSimultaneouslyWithGestureRecognizer:'を実装してNOを返し、スクロールビューのジェスチャ認識子をブロックします。 – samson

関連する問題