Pregunta

Me han pedido para crear una costumbre UITableViewCell con múltiples áreas que se pueden aprovechar.

Estas áreas no tienen botones o cualquier gráfico - que van a ser invisible. 3 métodos diferentes serán llamados dependiendo de la tercera de la célula el usuario toca es decir.

|| decrementFooCount || viewFooDetails || incrementFooCount ||

La celda tiene un par de etiquetas en él que deben ser visibles en todo momento - el fooName y fooCount

.

Estoy pensando tal vez tres UIButtons ocultos sobre la celda?

También es necesario mantener el golpe para eliminar el comportamiento por defecto.

¿Fue útil?

Solución

Puede subclase su UITableViewCell y reemplazar el método touchesBegan:withEvent:. A continuación, puede obtener una CGPoint de donde se colocó el tacto.

- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
   UITouch* touch = touches.anyObject;
   CGPoint location = [touch locationInView:self];

   if (CGRectContainsPoint(myTestRect, location)) {
       // Touched inside myTestRect, do whatever...
   } else {
      // Let the default implementation take over.
      [super touchesBegan:touches withEvent:event];
   }
}

Andrew

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top