Я не могу сказать вам, почему вы видите проблему, но вот несколько советов по ее устранению:
Согласно Apple HIG, выбор не должен исчезать до тех пор, пока вы не вернетесь из контроллера представления, просто помещенного в стек. Если ваш контроллер является просто UITableViewController, он должен автоматически отменить выбор после возврата к представлению. Если нет, добавьте
- (void) viewWillAppear:(BOOL)animated {
[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:animated];
[super viewWillAppear:animated];
}
где-то в контроллере вида.
Если есть строки, которые при щелчке не переходят в другое представление и фактически ничего не делают при выборе, они не должны выбираться, поэтому вы можете переопределить это в
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
и возвращать nil
в тех случаях, когда строка не должна быть выбрана.