Получить ячейку таблицы при срабатывании жеста - PullRequest
0 голосов
/ 21 марта 2012

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

Теперь мне нужно удалить tableCell из списка таблиц, но у меня возникают проблемы с поиском ссылки на эту ячейку таблицы.

Как получить indexPath ячейки таблицы или ссылку на эту ячейку таблицы? Я на самом деле не хочу подниматься по супервизору позже, так как мне кажется, что должен быть более легкий / лучший способ.

Спасибо.

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Я действительно нашел решение.Используя целевое действие, я сделал это.

-(void)checkMarkTapDetected:(id)sender {
// Update the image
UIImageView *checkMarkImage = (UIImageView *)[sender view];
checkMarkImage.image = [UIImage imageNamed:@"checkbox_checked.png"];

// Get recognizer and the place it fired in the tableview
UIGestureRecognizer *gestureRecognizer = [[checkMarkImage gestureRecognizers] lastObject];
CGPoint location = [gestureRecognizer locationInView:self.tableView];

// Get table cell index based on gesture location in table view cell
_checkMarkRowIndexPath = [self.tableView indexPathForRowAtPoint:location];
}
0 голосов
/ 21 марта 2012

вижу два варианта. Вы можете использовать deleteRowsAtIndexPaths: withRowAnimation: или вы можете отправить reloadData вашему tableView. reloadData вызовет повторный вызов вашего метода делегата cellforRowAtIndexPath (и связанных с ним методов), но на этот раз вы не создадите эту самую ячейку. Ваш numberOfRowsInSection должен будет также отражать уменьшение количества строк.

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