SeanT
SeanT

Reputation: 1791

make UITableViewCell selectable only while editing

I have a UITableView where the selectionStyle is set to UITableViewCellSelectionStyleNone because I don't want any visible change when a cell is tapped, but when it is in editing mode I do want the the cell selectable so the checkmark appears for each selected row, but using UITableViewCellSelectionStyleNone seems to keep the checkmark from appearing.

Any ideas how I can accomplish this?

Thanks...

Upvotes: 1

Views: 243

Answers (1)

Alex
Alex

Reputation: 1625

Have you tried setting the selection properties of your tableView like this:

tableView.allowsMultipleSelection = NO;
tableView.allowsMultipleSelectionDuringEditing = YES;
tableView.allowsSelection = NO;
tableView.allowsSelectionDuringEditing YES;

If you want more fine-grain control over when selection is allowed you can override - (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath in your UITableView delegate. The documentation states:

Return Value
An index-path object that confirms or alters the selected row. Return an NSIndexPath object other than indexPath if you want another cell to be selected. Return nil if you don't want the row selected.

You can have this method return nil in cases where you don't want the selection to happen.

Upvotes: 3

Related Questions