Fade-in / fade-out durante uma rotação de interface

Quando minha interface do iPhone gira, eu gostaria de fazer um fade-in / fade-out para uma UIView específica de um UIViewController ...

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.3];
    theView.alpha = 0;
    [UIView commitAnimations];
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{   
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.3];
    theView.alpha = 1;
    [UIView commitAnimations];  
}

Mas a animação não termina antes do início da rotação (podemos ver a exibição começando a se redimensionar) ...

Existe uma maneira de atrasar o início da rotação?

"duration" é a duração da animação rotativa, certo?