我有一个我在故事板中定义的自定义UITableViewCell。我在表格单元格中为图像添加了一个手势。我很好地捕捉手势并改变图像。
我现在需要做的是从表列表中删除tableCell,但是我找不到对该表格单元格的引用。
如何获取表格单元格indexPath或对该表格单元格的引用?我不想在以后爬上超级视图,因为在我看来必须有一个更容易/更好的方式。
感谢。
答案 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也必须反映行的减少。