1

我在自定义单元格中有一个 UIImageView 。我正在为点击 UIImageView 以加载另一个详细视图时创建自定义点击手势识别器。

点击手势设置如下:

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:event:)];
tapRecognizer.cancelsTouchesInView = YES;
tapRecognizer.numberOfTapsRequired = 1;
tapRecognizer.delegate = (id)self;
[cell.userImage addGestureRecognizer:tapRecognizer];
cell.userImage.userInteractionEnabled = YES;

我正在使用 imageTapped:event: 以便我可以检测用户正在点击的单元格并相应地加载数据。问题是我收到此错误:

在此处输入图像描述

如果我像这样摆脱事件,它可以完美运行,没有任何问题。

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];

我之前在另一个应用程序中使用过这种方法,但由于某种原因,我无法让它在这个错误下正常工作。有谁认识这是什么?谢谢!

4

1 回答 1

3

您需要阅读关于UIGestureRecognizer...的文档

手势识别器有一个或多个与之关联的目标-动作对。如果有多个目标-动作对,它们是离散的,而不是累积的。手势的识别导致将动作消息分派到这些对中的每一对的目标。调用的操作方法必须符合以下签名之一:

- (void)handleGesture;
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer;

正如您已经观察到的,使用这些签名之一将防止崩溃。然后,您可以通过检查识别器的属性来访问手势中涉及的图像视图,然后view您将能够访问相应的UITableView单元格。

于 2013-08-24T17:53:47.463 回答