Судя по моему опыту, ячейки не отменяются автоматически, если вы нажимаете / извлекаете контроллер представления (по крайней мере, не при использовании контроллера навигации), если только вы не добавили некоторый код, чтобы отменить его выбор!Это также может быть автоматически отменено, если вы выполняете [tableView reloadData] в viewWill / DidAppear (или в процессе, запущенном этими методами).
Вы пытались добавить что-то подобное в viewDidAppear?
NSIndexPath *indexPath = [tableView indexPathForSelectedRow];
if (indexPath != nil) {
[tableView deselectRowAtIndexPath:indexPath animated:YES]
}