Animando el cambio al color de fondo de uitableviewcell

Cuando se selecciona una celda desde una vista de tabla, me gustaría que el color de fondo de la celda cambie de blanco (o transparente) a negro y me gustaría que el cambio de color sea animado. es posible?

Sé que se necesitan ciertos trucos para cambiar el color de fondo de una celda de vista adecuada, y los entiendo en su mayor parte, pero me gustaría ir un paso más allá y animar el cambio del color de fondo de la celda. Supongo que esto se hará en el método didSelectRowAtIndexPath:.

preguntado el 09 de marzo de 12 a las 22:03

Esto es para un UILabel, pero debería transmitir el mensaje. http://stackoverflow.com/a/3947389/716216 -

2 Respuestas

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.8];
    [self.tableView cellForRowAtIndexPath:indexPath].imageView.alpha = 1.0;
    [self.tableView cellForRowAtIndexPath:indexPath].backgroundColor=[UIColor redColor];

    [UIView commitAnimations];   
}

Respondido 03 Oct 12, 10:10

Bueno, que yo sepa, no podemos animar el cambio de color. Lo que podemos hacer, es jugar un truco para cambiar los colores con un temporizador. La idea es que, dados dos colores, startColor y endColor, uno puede encontrar fácilmente los colores intermedios (digamos 20). Y luego, usando NSTimer, podemos establecer la propiedad de color para cada color diferente después de intervalos regulares. De esta manera, podemos tener una transición/animación suave desde startColor hasta endColor.

Si alguien requiere un código, también puedo proporcionar un código para esto.

respondido 12 mar '12, 12:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.