Что является хорошим способом для пользовательского вспомогательного представления в UITableViewCell сообщать контроллеру табличного представления? - PullRequest
1 голос
/ 17 марта 2010

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

[controller tableView:view didSelectCustomButtonAtIndexPath:indexPath usingCell:self];

когда нажата моя кнопка пользовательского просмотра.

Извините, если это немного расплывчато, я не совсем уверен, как это объяснить хорошо. Я в основном ищу, как имитировать реализацию для tableView: didSelectRowAtIndexPath: без необходимости создавать подкласс UITableViewCell.

Спасибо за любую помощь.

1 Ответ

3 голосов
/ 17 марта 2010

Когда я должен был это сделать, я делал это так:

//when adding accessoryView to cell in cellForRowAtIndexPath:
UIButton *b = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[b addTarget:self action:@selector(doAction:) forControlEvents:UIControlEventTouchUpInside];
cell.accessoryView = b;

//the handling method
- (void)doAction:(id)sender {
    NSIndexPath *indexPath = [table indexPathForCell:(UITableViewCell *)[sender superview]];
    // code goes here, indexPath tells you what row was touched
}

Должен работать с элементом управления, отличным от UIButton.

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