RootViewController Переключение анимации перехода - PullRequest
122 голосов
/ 09 октября 2011

Есть ли способ получить эффект перехода / анимации при замене существующего viewcontroller в качестве rootviewcontroller новым в appDelegate?

Ответы [ 11 ]

0 голосов
/ 20 апреля 2018

Я предлагаю свой способ, который отлично работает в моем проекте, и он предлагает мне хорошую анимацию. Я проверил другие предложения, найденные в этом посте, но некоторые из них не работают должным образом.

- (void)transitionToViewController:(UIViewController *)viewController withTransition:(UIViewAnimationOptions)transition completion:(void (^)(BOOL finished))completion {
// Reset new RootViewController to be sure that it have not presented any controllers
[viewController dismissViewControllerAnimated:NO completion:nil];

[UIView transitionWithView:self.window
                  duration:0.5f
                   options:transition
                animations:^{
                    for (UIView *view in self.window.subviews) {
                        [view removeFromSuperview];
                    }
                    [self.window addSubview:viewController.view];

                    self.window.rootViewController = viewController;
                } completion:completion];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...