快速从一个View控制器转到另一个

时间:2018-12-26 10:43:50

标签: swift animation viewcontroller

我需要从一个视图控制器转到另一个视图控制器,而无需执行任何操作(例如单击按钮),以便可以在第一个视图控制器中放置一些动画,然后转到第二个。

3 个答案:

答案 0 :(得分:0)

您可以使用viewDidAppear()在第一个视图控制器的UIView.animate()方法中执行任何动画,并将第二个控制器加载到完成块中,如下所示:

UIView.animate(withDuration: 1.0, delay: 0, options: .curveEaseIn, animations: 
{
    //add animation code here
}) { (isAnimationComplete) in
    //load new controller here
    let controller = SecondViewController()
    navigationController.pushViewController(controller, animated: true)
}

答案 1 :(得分:0)

1:转到情节提要,在第一视图控制器和第二视图控制器之间创建手动设置(按住Control键并单击,然后从FirstViewController上方的黄色圆圈拖动到SecondViewController的正文中)

2:单击背景中的segue并转到属性检查器(右上角面板中的第4个按钮),然后在“标识符”文本字段中输入“ SegueName”(或您想要的任何名称)

3:转到FirstViewController的.swift文件,并添加performSegue函数。

application(_:didFinishLaunchingWithOptions:)

将performSegue放入viewDidLoad()内部会导致您的应用在屏幕加载后立即进行选择。如果您需要帮助在动画(或设置为在FirstViewController上运行的任何代码)之后进行序列编码的代码,则需要查看两个视图控制器的文件。

答案 2 :(得分:-1)

尝试这些步骤,简单导航,只需更改动画true的标记

如果您想学习Controller Transitions动画,可以阅读这些教程。 https://www.raywenderlich.com/359-ios-animation-tutorial-custom-view-controller-presentation-transitions

第1步-在ViewController上创建按钮,并在viewController上创建按钮的IBAction。

第2步-创建导航至secondViewController的函数。

@IBAction func pressButton(sender: UIButton) {

        navigateToSecondViewController()

    }

    func navigateToSecondViewController() {

        let secondVC = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
        self.present(secondVC, animated: true, completion: nil)

    }

第3步-如果您使用的是navigatationController,则可以推动控制器。

func navigateToSecondViewController() {

        let secondVC = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
        self.navigationController?.pushViewController(secondVC, animated: true)

    }