推送到没有先前控制器的新视图控制器(但动画)

时间:2016-04-16 14:52:29

标签: ios swift uiviewcontroller

我想从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)?

2 个答案:

答案 0 :(得分:0)

我找到了办法:

self.navigationController?.setViewControllers([ViewController2()],animated:true)

答案 1 :(得分:-1)

尝试下面这个,我在手机上测试一下,没关系。当事件内部发生碰撞时,func btnClickedHandler()是一个按钮点击处理程序。

func btnClickedHandler()
{
    self.navigationController?.pushViewController(ViewController2(), animated: true)

    self.navigationController?.viewControllers.removeFirst()
}