I have a UITableView with cells that push viewControllers onto the stack when selected. The child viewControllers take user input and then pops off the stack.
When the c
When you reload a cell, it automatically gets deselected. That's because you don't set a cell's selected
property to YES
in tableView:cellForRowAtIndexPath:
. So you will have to deal with this differently. Either identify that the cell at indexPath
needs to be selected
and appropriately set its selected
property to YES
in tableView:cellForRowAtIndexPath:
or select it after you reload the data. In such case, you can execute the following methods –
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView selectRowAtIndexPath:indexPath
animated:NO
scrollPosition:UITableViewScrollPositionNone];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
The order of steps are :-
This way I think you can get the effect you want.
When the user taps the row the first time to load the editable view controller deselect the UITableViewCell before loading the editable ViewController.