2

私のアプリでは、ユーザーがテーブルビューセルをタップすると、さまざまな要素を持つテーブルが表示され、詳細ビューがナビゲーションスタックにプッシュされます。ここで、テーブルビューセルに適用できるさまざまなオプション(情報を友人にメールで送信、印刷、ブックマークに追加)を示すアラートビューをポップアップ表示するために、テーブルビューセルを「ロングタップ」する機能をユーザーに提供したいと思います。等)

UITableViewCellに「ロングタップ」ジェスチャレコグナイザーを実装するにはどうすればよいですか?

ご協力いただきありがとうございます

4

2 に答える 2

7

UILongPressGestureRecognizerを見たことがありますか?参照:http ://developer.apple.com/library/ios/#documentation/uikit/reference/UILongPressGestureRecognizer_Class/Reference/Reference.html%23//apple_ref/occ/cl/UILongPressGestureRecognizer

ただし、代わりにTwitterアプリで見られるようなスワイプジェスチャを検討することをお勧めします。テーブルセルを長くタップしても、ユーザーが直感的に使用したり期待したりできるとは思いません。ちょうど私の2セント。

  • ヨハネス
于 2011-01-18T16:32:31.260 に答える
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;
}
于 2011-01-18T16:33:44.607 に答える