我有一個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