Rog
Rog

Reputation: 17170

Changing the delete accessory view in a UITableViewCell

Is it possible to change the view shown in response to a left to right "I want to delete this row" swipe in a UITableView's UITableViewCell?

Currently the 'delete' button seems to ignore all of the other UITableViewCell customisation options.

Upvotes: 10

Views: 9271

Answers (1)

Tim
Tim

Reputation: 60140

The tricky thing about deleting cells is this: when you swipe left to right to show the "delete" button, the UITableViewCell moves to the UITableViewCellStateShowingDeleteConfirmationMask state, but doesn't set its UITableViewCellStateEditingMask state. This means you can't change the accessoryView for the editing state.

The way to get around this is to look at the willTransitionToState: method of UITableViewCell. What you can do is intercept the call to this method that would put your cell in the delete confirmation state and show your own views instead of the "Delete" confirmation button that normally gets shown.

For more info, look at the docs for willTransitionToState: for UITableViewCell.

Upvotes: 15

Related Questions