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