En mi aplicación, agrego dinámicamente imágenes a mi vista en tiempo de ejecución. Puedo tener varias imágenes en la pantalla al mismo tiempo. Cada imagen se carga desde un objeto. He agregado un tapGestureRecongnizer a la imagen para que se llame al método apropiado cuando lo toco.iOS - UITapGestureRecognizer - Selector con argumentos
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
[plantImageView addGestureRecognizer:tapGesture];
Mi problema es que no sé qué imagen he tocado. Sé que puedo llamar a tapGestureRecognizer.location para obtener la ubicación en la pantalla, pero eso no es realmente bueno para mí. Idealmente, me gustaría poder pasar el objeto en el que se cargó la imagen al gesto de toque. Sin embargo, parece que solo puedo pasar el nombre del selector "imageTapped:" y no sus argumentos.
- (IBAction)imageTapped:(Plant *)plant
{
[self performSegueWithIdentifier:@"viewPlantDetail" sender:plant];
}
¿Alguien sabe de una manera que me puede pasar a mi objeto como un argumento en el tapGestureRecongnizer o de cualquier otra manera que puedo conseguir una manija en ella?
Gracias
Brian
Thats brillante. Un millón de gracias. ¡Funcionó perfectamente! Buena solución. –