我有一个UITableView
,它有一些自定义单元格。在自定义单元格内,我有一个主要的UIImageView
。当单元格被创建时,我将一个Tap Gesture识别器添加到图像视图中。如何从单元格中另一项的手势获取单元格引用
当图像被点击我运行以下:
- (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
被调用。这是不正确的,它不应该被调用,只有手势记录相关的handleTap方法。应该被调用。我如何确保didSelectRowAtIndexPath
未被调用,因为在单元格被实际(正确)选择时需要运行其他代码。
感谢这种方法。这很好,但是我怎么会把indexPath传入prepareForSegue方法。目前我传入imageView作为方法的发送者,以便我可以链接到图像(每个问题),但是如何在prepareForSegue方法中实际需要此参数时传递indexPath。 – StuartM
我能够在prepareForSegue方法中复制上述内容,没有任何问题,这很好。谢谢你的帮助。 – StuartM