Amogh Talpallikar Amogh Talpallikar - 4 months ago 20
iOS Question

How to enable swipe to delete cell in a TableView?

I have a

UIViewController
that implements TableViews delegate and datasource protocols.
Now I want to add "swipe to delete" gesture to cells.

How should I go about it.

I have given a blank implementation of
commitEditingStyle
method and also set the Editing property to YES.

Still the swipe feature is not coming .

Now Do I need to separately add
UISwipeGesture
to each cell ?

Or am I missing something ?

Answer

You don't have to set editing:YES if you need to show Delete button on cell swipe. You have to implement tableView:canEditRowAtIndexPath: and return YES from there for rows you need to edit/delete. This is not necessary when your tableView's dataSource is a subclass of UITableViewContoller - this method, if not overridden, returns YES by default. In all other cases you have to implement it.

EDIT: Together we have found the problem - tableView:editingStyleForRowAtIndexPath: returned UITableViewCellEditingStyleNone if table wasn't in editing mode.

Comments