我在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)中获取tapped单元格?如何在处理程序方法中获取tapped单元格的索引?
谢谢!
答案 0 :(得分:9)
如果您从view
方法传递给您的手势识别器中抓取cellOneFingerDoubleTap:
,那么您将获得已被点击的单元格。类似的东西:
- (void)cellOneFingerDoubleTap:(UIGestureRecognizer*)recognizer {
UITableViewCell *cell = (UITableViewCell*)recognizer.view;
}
[我只是假设一个“单元格”你的意思是UITableViewCell
顺便说一句
答案 1 :(得分:0)
UIGestureRecognizer有一个
-(UIView *)view
可用于获取其附加视图的属性。
由于您将识别器附加到UITableViewCell,因此将识别器的视图传递给UITableView;
-indexPathForCell: