在UITapGestureRecognizer处理程序中获取tapped单元格

Tom*_*Tom 3 xcode objective-c selector ios5 uitapgesturerecognizer

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

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

并实现了处理方法:

- (void)cellOneFingerDoubleTap:(id) sender
{
    NSLog(@"taptap");
}
Run Code Online (Sandbox Code Playgroud)

它工作正常.我的问题是我无法通过窃听细胞传递细胞或其他一些数据.正如我所见(id)sender是UITapGestureRecognizer本身.

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

谢谢!

mat*_*way 9

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

- (void)cellOneFingerDoubleTap:(UIGestureRecognizer*)recognizer {
    UITableViewCell *cell = (UITableViewCell*)recognizer.view;
}
Run Code Online (Sandbox Code Playgroud)

[我只是假设一个"细胞"你的意思是UITableViewCell顺便说一句]