2011-01-18 12 views
2

私のアプリでは、ユーザーがtableviewcellをタップするとdetailviewがナビゲーションスタックにプッシュされます。 私は今、tableviewcellの上に "ロングタップ"を表示するために、ユーザーに上記のtableviewcellに適用できるさまざまなオプションを示すalertviewをポップアップ表示させたいと考えています。ブックマークなど)UITableViewCellで「ロングタップ」ジェスチャーを検出するには

UITableViewCellに「ロングタップ」ジェスチャ認識機能を実装するにはどうすればよいですか?あなたの助け

答えて

7

ため

おかげで、あなたがUILongPressGestureRecognizerを見たことがありますか?参照してください :http://developer.apple.com/library/ios/#documentation/uikit/reference/UILongPressGestureRecognizer_Class/Reference/Reference.html%23//apple_ref/occ/cl/UILongPressGestureRecognizer

あなたはしかし、代わりにTwitterアプリで見られるようにスワイプジェスチャーを検討する必要があります:私は、テーブルのセル上の長いタップは非常に直感的に使用し、ユーザが期待されるだろうとは思いません。ちょうど私の2セント。

  • ヨハネス
+0

これはいいです。 uitableviewcellsには​​適していません。 longpresseventにtableindexを(nslog)で表示することは可能ですか?私はuitableviewcellsでこのジェスチャーを動作させることができませんでした。 – dinesh

3

タッチダウンにあなたは秒のX数(あなたが長いタッチになりたいか、これまで長い間)でメソッド呼び出しをオフに解雇するタイマーを使用します。その後、時間切れになると、タイマーはキャンセルされます。

-(void) startSingleTouch:(UITouch*)touch 
{ 
tapTouch = touch; 
tapTimer = [[NSTimer scheduledTimerWithTimeInterval:tapDelay target:self selector:@selector(singleTapGestureSucceeded) userInfo:nil repeats:NO] retain]; 
} 

-(void) cancelSingleTouch 
{ 
if(tapTimer) 
{ 
    [tapTimer invalidate]; 
    [tapTimer release]; 
} 

tapTouch = nil; 
tapTimer = nil; 
} 
関連する問題