2010-12-16 7 views
0

右からテーブルセルにスワイプし、削除ボタンが表示されるデリゲートメソッドはありますか?セル上の指スワイプでのデリゲートメソッド

私はスワイプを追跡し、そこで何らかのアクションをしたいと思っていました。

また、セルの[削除]ボタンをタップすると、どのデリゲートメソッドが呼び出されます。

alt text

答えて

6

行が "編集" モードに入る前に呼び出されるtableView:editingStyleForRowAtIndexPath:UITableViewDelegate方法。これは、セルをスワイプするときと、テーブルビューがsetEditing:animatedメッセージを受け取ったときに呼び出されます。テーブルビューを編集モードにする[編集]ボタンがある場合は、表示されているセルごとに呼び出されることに注意する必要があります。あなたは[削除]ボタンtableView:commitEditingStyle:forRowAtIndexPath:が呼び出されるタップすると

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView 
      editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (tableView.editing) { 
     return UITableViewCellEditingStyleDelete; 
    } 
    else { 
     // do your thing 
     return UITableViewCellEditingStyleDelete; 
    } 
} 

だからあなたのような何かを行うことができます。

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (editingStyle == UITableViewCellEditingStyleDelete) { 
     // repsond to delete 
    }  
} 

し、削除ボタンのテキストを変更したい場合は、[削除]ボタンが表示されますが、あなたがになっているはずです何かを行うにはしたくない他側の場合はtableView:titleForDeleteConfirmationButtonForRowAtIndexPath:

を使用することができますUISwipeGestureRecognizerとあなたの自己それを処理します。

+0

単に素晴らしい情報です。ありがとうございました! – Abhinav

+0

@Robert Nice! +1 :) – TonyMkenu

関連する問題