更改rootViewController时从右侧动画滑动

时间:2016-08-24 21:24:37

标签: ios uiview uiviewanimation

我正在尝试使用右下角的动画来更改我的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没有从右侧滑动动画。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分: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)

然后,在viewController的viewDidAppear,您应该执行此代码

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

我希望它有所帮助