2009-06-11 10 views
5

Tengo una UIView como subvista de una subclase personalizada de UITableViewCell. Lo estoy usando para cambiar el color de solo un área pequeña de la celda de forma dinámica.¿Cómo retener o animar el color de fondo de la subvista en UITableViewCell en la selección?

Cuando selecciono la celda, el color de fondo de toda la celda, incluido el color de fondo de la subvista, cambia a azul. Está bien, sucede instantáneamente. La selección se desplaza a otro controlador de vista.

Sin embargo, cuando vuelvo desde el controlador de vista, vuelve a animar el fondo de azul a blanco, pero no anima el color de fondo de mi subvista. El efecto es de color azul animado a blanco, y luego cambia bruscamente a mi color original.

¿Cómo puedo ya sea

  • eximo color de fondo de esta subvista de cambiar en absoluto,
  • o animar la transición de manera que mi color se volvió muy bien?

Gracias!

Respuesta

4

A continuación se muestra cómo animar un cambio de color:

UIView * blue = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 20)]; 
[self.view addSubview:blue]; 
blue.backgroundColor = [UIColor whiteColor]; 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1]; 
blue.backgroundColor = [UIColor blueColor]; 
[UIView commitAnimations]; 
[blue release]; 

Con suerte, puede adaptarlo a sus necesidades.

Tom

Cuestiones relacionadas