2009-06-11 11 views
5

Ho un UIView come sottoview di una sottoclasse personalizzata di UITableViewCell. Lo sto usando per cambiare il colore di una piccola area della cella in modo dinamico.Come conservare o animare il colore di sfondo sottoview in UITableViewCell alla selezione?

Quando seleziono la cella, il colore di sfondo dell'intera cella, compreso il colore di sfondo della visualizzazione secondaria, diventa blu. Va bene, succede istantaneamente. La selezione esegue drill down su un altro controller di visualizzazione.

Tuttavia, quando torno dal controller della vista, si anima di nuovo lo sfondo da blu a bianco - ma non anima il colore di sfondo della mia sotto-visualizzazione. L'effetto è animato dal blu al bianco, per poi tornare bruscamente al mio colore originale.

Come posso neanche

  • esonerare colore di sfondo di questa visualizzazione secondaria di cambiare a tutti,
  • o animare la transizione in modo che il mio colore viene restituito bene?

Grazie!

risposta

4

Quanto segue mostra come animare un cambiamento di colore:

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]; 

Eventualmente, è possibile adattarlo alle proprie esigenze.

Tom

Problemi correlati