0

我有下一个自定义单元格:

在此处输入图像描述

当我填满我的桌子时,我会这样做:

 UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected)];
singleTap.numberOfTapsRequired = 1;
cell.iboPopImage.userInteractionEnabled = YES;
[cell.iboPopImage addGestureRecognizer:singleTap];

我将点击事件添加到这个突​​出显示的小图像中。

这是函数事件:

我想将单元格索引传递给它,所以我可以使用所需的单元格进行操作

-(void)tapDetected:(NSInteger *)index
{
    //Some code to do
}

但它不允许我这样写:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:indexPath.row)];

如何解决?

4

2 回答 2

1

使用手势识别器时,您无法选择它将调用的操作方法的格式,该方法应该是:

- (void)tapDetected:(UITapGestureRecognizer *)sender

然后,您可以使用sender来获取被点击的视图(然后可能会获取它的tag)。

ps就是这样@selector(tapDetected:)

于 2013-10-22T12:07:18.327 回答
0

执行以下操作以获取它,在您的界面中:

@interface viewcontroller : UITableViewController
{
 int indexpathRow;
}

-(void) getIndex:(int)getRow;

然后在您的 .m 文件中,在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath方法中调用 as [self getIndex:indexPath.row];。然后获取您的索引路径:

-(void) getIndex:(int)getRow
{
indexpathRow = getRow;
}

现在您可以在 viewController 类的任何地方使用它。

于 2013-10-22T12:14:44.067 回答