Получить выбранный индекс UITableView - PullRequest
103 голосов
/ 27 октября 2010

Я хочу выбрать индекс для UITableView. Я написал следующий код:

NSIndexPath *index = [NSIndexPath indexPathForRow:1 inSection:0];
[tableView scrollToRowAtIndexPath:index 
                 atScrollPosition:UITableViewScrollPositionTop 
                         animated:YES];

Это всегда работает для 1-го пункта. Я хочу выбрать индекс в indexPathForRow.

Пожалуйста, помогите. Спасибо.

Ответы [ 5 ]

214 голосов
/ 27 октября 2010
NSIndexPath *selectedIndexPath = [tableView indexPathForSelectedRow];
8 голосов
/ 03 октября 2014

Получить текущую выбранную строку. Может быть полезно, если у вас есть только один раздел.

- (NSUInteger)currentSellectedRowIndex
{
    NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
    if (selectedIndexPath) {
        return selectedIndexPath.row;
    }
    else {
        return NSNotFound;
    }
}
5 голосов
/ 03 сентября 2013

Используйте этот код

CGPoint location =[sender locationInView:self.tableView];
NSIndexPath *swipedIndexPath = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *swipedCell  = [self.tableView cellForRowAtIndexPath:swipedIndexPath];
NSIndexPath *indexPath = [self.tableView indexPathForCell:swipedCell];
4 голосов
/ 27 октября 2010

В didSelectRowAtIndexPath установите интерфейс, объявленный как NSIndexPath, в качестве возвращаемого indexpath.Затем вы можете перейти к этой переменной.Если вам нужна помощь, прокомментируйте, и я могу дать пример кода.

1 голос
/ 29 октября 2018

Swift 4.2

let selectedIndexPath = tableView.indexPathForSelectedRow

, что является необязательным возвращаемым значением.

...