Replace window.rootViewController with animation works partially

So after a long search I found the problem was in the [UIView transitionWithView:...] Searching a bit more in stackoverflow I found Swapping rootViewController with animation

Using [UIView transitionFromView:..] works perfectly.

The new code -

[UIView transitionFromView:self.window.rootViewController.view
                    toView:self.centerViewController.view
                  duration:0.5
                   options:UIViewAnimationOptionTransitionCurlUp
                completion:^(BOOL finished)
                {
                    self.window.rootViewController = self.centerViewController;
                }];