表のセルを 1 回スワイプして右から削除ボタンを押した瞬間に呼び出されるデリゲート メソッドはありますか?
スワイプを追跡して、そこで何らかのアクションを実行したかったのです。
また、セルの「削除」ボタンをタップすると、どのデリゲート メソッドが呼び出されますか。
表のセルを 1 回スワイプして右から削除ボタンを押した瞬間に呼び出されるデリゲート メソッドはありますか?
スワイプを追跡して、そこで何らかのアクションを実行したかったのです。
また、セルの「削除」ボタンをタップすると、どのデリゲート メソッドが呼び出されますか。
このUITableViewDelegate
メソッドtableView:editingStyleForRowAtIndexPath:
は、行が「編集」モードに入る前に呼び出されます。これは、セルをスワイプしたとき、およびテーブル ビューがsetEditing:animated
メッセージを受信したときに呼び出されます。テーブル ビューを編集モードにする [編集] ボタンがある場合は、表示されているセルごとに呼び出されることに注意する必要があります。
したがって、次のようなことができます。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView.editing) {
return UITableViewCellEditingStyleDelete;
}
else {
// do your thing
return UITableViewCellEditingStyleDelete;
}
}
タップすると削除ボタンtableView:commitEditingStyle:forRowAtIndexPath:
が呼び出されます。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// repsond to delete
}
}
また、削除ボタンのテキストを変更したい場合は、使用できますtableView:titleForDeleteConfirmationButtonForRowAtIndexPath:
反対側で [削除] ボタンを表示したくないが何か他のことをしたい場合は、自分で調べてUISwipeGestureRecognizer
処理する必要があります。