objective-c - 在 UITapGestureRecognizer 处理程序中获取点击单元格

我在我的 IOS5 应用程序中为我的表格单元格设置了一个手势识别器:

UITapGestureRecognizer* oneFingerDoubleTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(cellOneFingerDoubleTap:)];
oneFingerDoubleTap.numberOfTapsRequired = 2;
[cell addGestureRecognizer:oneFingerDoubleTap];

并实现了处理程序方法:
- (void)cellOneFingerDoubleTap:(id) sender
{
    NSLog(@"taptap");
}

它工作正常。我的问题是我无法通过被点击的单元格或其他一些带有被点击单元格的数据。正如我所看到的 (id)sender 是 UITapGestureRecognizer 本身。

我的问题是:如何在处理程序方法 (cellOneFingerDoubleTap) 中获取被点击的单元格?如何在处理程序方法中获取被点击单元格的索引?

谢谢!

最佳答案

如果您从 view 方法中传递给您的手势识别器中获取 cellOneFingerDoubleTap:,那么您将获得被点击的单元格。就像是:

- (void)cellOneFingerDoubleTap:(UIGestureRecognizer*)recognizer {
    UITableViewCell *cell = (UITableViewCell*)recognizer.view;
}

[顺便说一下,我只是假设“单元格”是指 UITableViewCell]