Fundido de color de fondo de un color a otro en una UIView

¿Cómo puedo desvanecerme de un color de fondo a otro color en una UIView?

En javascript (jQuery) se puede hacer haciendo lo siguiente:
$('body').animate({ backgroundColor: "#ff00ff"});

¿Sería más fácil si convirtiera los colores a HSV?

EDITAR: Intenté hacerlo con CABasicAnimation pero parpadea en blanco por razones desconocidas. : /

CABasicAnimation* fade = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
fade.fillMode = kCAFillModeForwards;
fade.removedOnCompletion = NO;
// fade.fromValue = (id)[self.view backgroundColor].CGColor;
fade.toValue = (id)[UIColor greenColor].CGColor;
[self.view.layer addAnimation:fade forKey:@"fade"];

Luego traté de encontrar otra forma de hacerlo y me topé con la "animación implícita". Lo siguiente funciona con un agradable desvanecimiento de un segundo:

[UIView beginAnimations:@"fade" context:nil];
[UIView setAnimationDuration:1];
[[self view] setBackgroundColor: [UIColor greenColor]];
[UIView commitAnimations];

Gracias, StackOverflow, por ayudar a todos a aprender aún más. :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta