UITableView Обнаружить выбранную ячейку? - PullRequest
13 голосов
/ 30 ноября 2010

У меня есть несколько UITableView в моем приложении, есть ли способ определения, какую ячейку / строку выбрал пользователь в этом столбце?

Также возможно ли программно отменить выбор ячейки / строки?

Спасибо.

Ответы [ 3 ]

30 голосов
/ 30 ноября 2010

Получить текущий выбранный путь индекса для таблицы:

NSIndexPath *path = [tableView indexPathForSelectedRow];

Отменить выбор текущей выбранной строки:

[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES];
3 голосов
/ 30 ноября 2010

Все это легко найти в документации по UITableView. Возможно, вам следует заглянуть туда в следующий раз.

Вот даже ссылка: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html

2 голосов
/ 15 января 2015
NSIndexPath *path = [tableView indexPathForSelectedRow];

В приведенной выше строке будет выброшено EXC BAD ACCESS , если продажа не выбрана, поэтому отслеживайте выбранную ячейку с помощью переменной экземпляра NSIndexPath и только отмените выбор , когда она фактически выбранас isSelected свойством ячейки.

UITableViewCell *cell = [tableView cellForRowAtIndexPath:someIndexPath];
if(cell.isSelected) {
    [tableView deselectRowAtIndexPath:someIndexPath animated:YES];
}
...