Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 推送到没有以前控制器的新视图控制器(但已设置动画)_Ios_Swift_Uiviewcontroller - Fatal编程技术网

Ios 推送到没有以前控制器的新视图控制器(但已设置动画)

Ios 推送到没有以前控制器的新视图控制器(但已设置动画),ios,swift,uiviewcontroller,Ios,Swift,Uiviewcontroller,我想从ViewController1推送到ViewController2,导航堆栈中没有ViewController1。(动画) 这将不会有动画: self.navigationController?.viewControllers = [ViewController2()] 这也不会有动画: UIView.animateWithDuration(0.3) { self.navigationController?.viewControllers = [ViewControlle

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

将“从”按钮设置为“视图控制器2”(不使用“返回”按钮设置为“视图控制器1”)的正确方式是什么?

试试下面的方法,我在手机上测试,没问题
func btnClickedHandler()
是发生内部修补事件时的按钮单击处理程序

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

    self.navigationController?.viewControllers.removeFirst()
}

我找到了一种方法:

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

你想推两次吗?例如,从currentViewController到newViewController1,然后快速到newViewController2,而不设置newViewController1的动画。不,我的意思是我想用动画推动,从VC1到VC2,而不使用后退按钮。我在下面找到了答案。