UITableView
いくつかのカスタムセルを持つView Controllerがあります。
カスタムセル内に main がありUIImageView
ます。画像ビューにタップ ジェスチャ認識機能を追加して、画像がタップされたときにhandleImageTap
メソッドが呼び出されるようにします。
質問
私がやろうとしているのは、選択UIImageView
した (特定のセルからの) 画像を新しいビュー コントローラーに渡すことです。
handleImageTap が呼び出されたら、次を実行します。
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.mainImageView.image = imgView.image;
}
上記は機能しません。画像は渡されません。選択したセルの画像ビューから新しいコントローラーに画像を取得するにはどうすればよいですか?
また
、セルの画像ビューが選択されたときにdidSelectRowAtIndexPath
メソッドが呼び出されることもあります。これは正しくないため、画像ビューがタップされたときに呼び出すべきではありません。これは常にあるとは限りませんが、これが呼び出されないようにする方法はありますか?
メソッドのイメージビューが含まれるセルへの参照も必要ですprepareForSegue
。セルが実際にここで選択されている (すべきではない) 場合、イメージビューが含まれるセルの参照を取得するにはどうすればよいですか。