我在自定义单元格中有一个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:)];
我之前在另一个应用程序中使用过这个方法,但出于某种原因我无法正常使用此错误。有谁知道这是什么?谢谢!
答案 0 :(得分:3)
您需要阅读UIGestureRecognizer
...
手势识别器具有关联的一个或多个目标 - 动作对 用它。如果有多个目标 - 动作对,它们是离散的, 而不是累积的。对手势的识别导致调度 对于每个对的目标的动作消息。那个行动 调用的方法必须符合以下签名之一:
- (void)handleGesture;
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer;
使用其中一个签名可以防止您已经观察到的崩溃。然后,您可以通过检查识别器的view
属性来访问手势中涉及的图像视图,然后您将能够访问相应的UITableView
单元格。