2016-08-24 3 views
2

Я пытаюсь изменить свой rootViewController с помощью анимации слайд-справа.Слайд из правой анимации при смене rootViewController

Я знаю, как сделать это с помощью покадровой анимации:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let viewController = mainStoryboard.instantiateViewControllerWithIdentifier("LandingViewController") 


UIView.transitionWithView(UIApplication.sharedApplication().keyWindow!, 
          duration: 0.5, 
          options: UIViewAnimationOptions.TransitionFlipFromLeft, 
          animations: { UIApplication.sharedApplication().keyWindow?.rootViewController = viewController; }, 
          completion: nil) 

Однако UIViewAnimationOptions НЕ имеет слайд-из правой анимации. Как я могу это достичь?

+0

Почему это необходимо? Кажется, это неловко. Похоже, вы хотите перейти по умолчанию к системе. Почему бы не сделать контроллер навигации вашим контроллером корневого представления и не нажимать и не при необходимости при необходимости? – beyowulf

ответ

0

попробовать этот

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let viewController = mainStoryboard.instantiateViewControllerWithIdentifier("LandingViewController") 

let navigationController = UIApplication.sharedApplication().keyWindow?.rootViewController.navigationController 

//first push the viewController 
navigationController?.pushViewController(viewController, animated: true) 

затем, в viewDidAppear из viewController, вы должны EXEC этот код

//remove all previous controllers in the stack by settings viewControllers stack with only current viewController 
self.navigationController?.viewControllers = [self] 

Я надеюсь, что это помогает

Смежные вопросы