Как правильно реализовать - (NSIndexPath *) indexPathForSelectedRow при попытке извлечь, какая ячейка таблицы выбрана - PullRequest
0 голосов
/ 01 июля 2010

У меня есть делегат для моего табличного представления, и я хотел бы иметь возможность инициировать действие, когда пользователь выбирает ячейку в табличном представлении.

Как правильно реализован метод - (NSIndexPath *) indexPathForSelectedRow

1 Ответ

2 голосов
/ 01 июля 2010

Если у вас правильно настроены делегаты таблицы (см. Учебник Apple AdvancedTableViewCells или множество хороших руководств для получения дополнительной информации), то вы следуете протоколу Apple, реализуя этот метод:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{   

    // in here you can do stuff based on which cell they selected
    // at a certain index path, like the examples below

    // get value for which row was pressed
    int row = indexPath.row;

    // or find cell that was just pressed and grab handle for the new info that needs to be put on it
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
    UIButton *newButton;
    newButton = (UIButton *)[cell viewWithTag:4];

    UILabel *newLabel;
    newLabel = (UILabel *)[cell viewWithTag:5];

    // or de-select the row per Apple's Human Interface Guidelines 
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}   

Это просто общие примеры, но, надеюсь, они пролили немного света на эту тему для вас!

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