Я изучил это только сейчас, потому что продолжал получать ту же самую проблему. Я случайно попробовал следующее, и это сработало отлично:
[UIView
transitionWithView:window
duration:0.5
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^(void) {
BOOL oldState = [UIView areAnimationsEnabled];
[UIView setAnimationsEnabled:NO];
[(ICApp *)sharedApplication.delegate window].rootViewController = self;
[UIView setAnimationsEnabled:oldState];
}
completion:nil];
Я знаю, что немного странно отключать / включать анимации внутри блока анимации, но перекрестное растворение оживляет, а вращение - нет - контроллер представления уже повернут и готов к вращению.