繁体   English   中英

更改rootViewController时从正确的动画滑动

[英]Slide from right animation when changing 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没有从右向滑动的动画。 我该如何实现?

尝试这个

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 viewController ,您应该执行此代码

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

希望对您有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM