手势触发时获取表格单元格

时间:2012-03-20 21:24:27

标签: ios uitableview

我有一个我在故事板中定义的自定义UITableViewCell。我在表格单元格中为图像添加了一个手势。我很好地捕捉手势并改变图像。

我现在需要做的是从表列表中删除tableCell,但是我找不到对该表格单元格的引用。

如何获取表格单元格indexPath或对该表格单元格的引用?我不想在以后爬上超级视图,因为在我看来必须有一个更容易/更好的方式。

感谢。

2 个答案:

答案 0 :(得分:1)

我实际上找到了一个解决方案。使用目标操作我这样做了。

-(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];
}

答案 1 :(得分:0)

我看到两个选项。您可以使用deleteRowsAtIndexPaths:withRowAnimation:或者您可以将reloadData发送到tableView。 reloadData将再次调用您的委托方法cellforRowAtIndexPath(及相关方法),但这次您不会创建那个单元格。您的numberOfRowsInSection也必须反映行的减少。