私のアプリでは、実行時にビューに画像を動的に追加しています。同時に複数の画像を画面に表示できます。各画像はオブジェクトから読み込まれます。画像にtapGestureRecongnizerを追加して、タップしたときに適切なメソッドが呼び出されるようにしました。
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
[plantImageView addGestureRecognizer:tapGesture];
私の問題は、どの画像をタップしたのかわからないことです。tapGestureRecognizer.locationを呼び出して画面上の場所を取得できることは知っていますが、それは私にとってあまり良いことではありません。理想的には、画像がロードされたオブジェクトをタップジェスチャに渡すことができるようにしたいと思います。ただし、セレクター名「imageTapped:」のみを渡すことができ、引数は渡せないようです。
- (IBAction)imageTapped:(Plant *)plant
{
[self performSegueWithIdentifier:@"viewPlantDetail" sender:plant];
}
オブジェクトを引数としてtapGestureRecongnizerに渡す方法、またはオブジェクトを処理する他の方法を知っている人はいますか?
ありがとう
ブライアン