我有一个UITableView
有一些自定义单元格。在自定义单元格中,我有一个 main UIImageView
. 创建单元格后,我将 Tap Gesture Recognizer 添加到图像视图中。
点击图像时,我运行以下命令:
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer {
NSLog(@"Image tapped");
UIImageView *imageView = (UIImageView *)gestureRecognizer.view;
// send the image instead of self when firing the segue
[self performSegueWithIdentifier:@"remindMeTurnInfo" sender:imageView];
}
然后我将图像传递给方法中的新视图控制器prepareForSegue
:
if ([segue.identifier isEqualToString:@"remindMeTurnInfo"]) {
UIImageView *imgView = (UIImageView *)sender;
MESPlayedTurnReminderViewController *VC = segue.destinationViewController;
VC.turnImage = imgView.image;
}
问题
1. 我需要对 UIImageView 所在的单元格的引用,该单元格被点击。因此,用户点击其中一个单元格图像,我需要知道该图像是从哪个单元格(indexPath)中点击的。
2.我发现有时当图像被点击时,didSelectRowAtIndexPath
正在被调用。这是不正确的,不应调用它,只能调用 Gesture Rec 中的相关 handleTap 方法。应该调用。如何确保didSelectRowAtIndexPath
不调用 ,因为在实际(正确)选择单元格时我需要运行一些其他代码。