Estoy usando un UITableViewCell dibujado a medida, que incluye el mismo para el accessoryView
de la celda. Mi configuración para el accessoryView pasa por el camino de algo como esto:Usando una imagen personalizada para un accesorioView de UITableViewCell y haciendo que responda a UITableViewDelegate
UIImage *accessoryImage = [UIImage imageNamed:@"accessoryDisclosure.png"];
UIImageView *accImageView = [[UIImageView alloc] initWithImage:accessoryImage];
accImageView.userInteractionEnabled = YES;
[accImageView setFrame:CGRectMake(0, 0, 28.0, 28.0)];
self.accessoryView = accImageView;
[accImageView release];
También cuando se inicializa el celular, utilizando initWithFrame:reuseIdentifier:
me aseguré para establecer la siguiente propiedad:
self.userInteractionEnabled = YES;
Desafortunadamente en mi UITableViewDelegate, mi método tableView:accessoryButtonTappedForRowWithIndexPath:
(intente repetirlo 10 veces) no se activa. El delegado definitivamente está cableado correctamente.
¿Qué puede faltar?
Gracias a todos.
Gracias Jim. Es una pena que haya pasado más de 20 minutos preguntándome por qué no puedo hacerlo con un imageView personalizado. Acabo de ver cómo hacerlo en la aplicación de accesorios de muestra de Apple. Su respuesta está bien explicada y documentada, así que la estoy marcando y manteniéndola. Gracias de nuevo. :-) –
¡Esta solución es genial! +1 –
Solo para otras personas que miren esta respuesta, también pueden poner una etiqueta en el botón que corresponde a la fila (si tiene varias secciones, necesitarán hacer algunos cálculos) y luego simplemente sacar la etiqueta de el botón en la función. Creo que podría ser un poco más rápido que calcular el toque. – RyanJM