3

我在 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)中获取被点击的单元格?如何在处理程序方法中获取被点击单元格的索引?

谢谢!

4

2 回答 2

9

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

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

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

于 2012-02-09T00:14:16.747 回答
0

UIGestureRecognizer 有一个

-(UIView *)view

属性,您可以使用它来获取它所附加到的视图。

由于您将识别器附加到 UITableViewCell,因此将识别器的视图传递给 UITableView;

-indexPathForCell:
于 2012-02-09T00:15:10.587 回答