推送到没有以前控制器的新视图控制器(但动画)
Posted
技术标签:
【中文标题】推送到没有以前控制器的新视图控制器(但动画)【英文标题】:Push to a new view controller without previous controllers (but animated) 【发布时间】:2016-04-16 14:52:28 【问题描述】:我想从 ViewController1 推送到 ViewController2,但导航堆栈中没有 ViewController1。 (动画)
这不会有动画:
self.navigationController?.viewControllers = [ViewController2()]
这也不会有动画:
UIView.animateWithDuration(0.3)
self.navigationController?.viewControllers = [ViewController2()]
这也没有任何动画:
self.navigationController?.popToRootViewControllerAnimated(false)
self.navigationController?.pushViewController(ViewContorller2(), animated: true)
动画从 ViewController2 推送的正确方法是什么(没有返回按钮到视图控制器 1)?
【问题讨论】:
你想推两次?例如从 currentViewController 到 newViewController1 然后快速到 newViewController2 而无需为 newViewController1 设置动画。 不,我的意思是我想用动画推动,从 VC1 到 VC2,没有后退按钮。我在下面找到了答案。 【参考方案1】:我找到了办法:
self.navigationController?.setViewControllers([ViewController2()],animated:true)
【讨论】:
【参考方案2】:下面试试这个,我在手机上测试,没问题。 func btnClickedHandler()
是当 touch up inside 事件发生时的按钮点击处理程序。
func btnClickedHandler()
self.navigationController?.pushViewController(ViewController2(), animated: true)
self.navigationController?.viewControllers.removeFirst()
【讨论】:
以上是关于推送到没有以前控制器的新视图控制器(但动画)的主要内容,如果未能解决你的问题,请参考以下文章
将视图控制器推送到另一个视图控制器时如何处理 UIParallaxDimmingView?
如何将其他视图控制器推送到 NavigationController 但保留 TabBar?