Как выполнить отмену выбора ячейки, когда пользователь возвращается в табличное представление? - PullRequest
0 голосов
/ 22 апреля 2009

Я использую UITableView для отображения списка ячеек. Когда пользователь выбирает ячейку, появляется новое представление с использованием следующего кода:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     [self.navigationController pushViewController: detailsViewController animated: TRUE];
}

Используя приведенный выше код, представление отображается корректно, но когда я возвращаюсь к представлению корневой таблицы, ячейка все еще выбрана. Я заметил, что во многих примерах sdk ячейка отменяется (с хорошей анимацией), когда в корневой каталог загружается пакет, но я не смог найти код, который реализовал эту функцию в любом из примеров. Я знаю, что могу использовать:

[tableView deselectRowAtIndexPath:indexPath animated: YES];

для реализации этого, но мне очень любопытно, как эти примеры делают это без использования какого-либо кода.

Есть идеи?

1 Ответ

1 голос
/ 22 апреля 2009

UITableViewController автоматически обрабатывает это для вас, когда вы вызываете super в viewDidAppear: и т. Д. Поэтому самый простой способ добиться этого - создать подкласс UITableViewController. Если вы не можете (например, потому что таблица является лишь частью более сложного представления), то вам придется сделать это самостоятельно в методе viewDidAppear:. (Вы должны также прошить скроллеры тоже).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...