[英]How to switch view controllers in swift?
我正在尝试使用代码从一个 UIViewController 切换到另一个。 现在我有,
self.presentViewController(ResultViewController(), animated: true, completion: nil)
所有这些都是将我带到黑屏而不是 ResultViewController。 有什么建议?
与故事板。 为第二个视图控制器创建一个 swift 文件 (SecondViewController.swift) 并在适当的函数中输入:
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "secondViewController") as! secondViewController
self.navigationController.pushViewController(secondViewController, animated: true)
没有故事板
let secondViewController = ViewController(nibNameOrNil: NibName, bundleOrNil: nil)
self.presentViewController(secondViewController, animated: true, completion: nil)
你可以试试这个
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let resultViewController = storyBoard.instantiateViewControllerWithIdentifier("ResultView") as ResultViewController
self.presentViewController(resultViewController, animated:true, completion:nil)
确保设置了视图控制器标识符。
斯威夫特 3
以模态方式呈现控制器
let vc = self.storyboard!.instantiateWithIdentifier("SecondViewController")
self.present(vc, animate: true, completion: nil)
显示控制器
self.show(vc, sender: self)
尝试这个:
let vc = ViewController(nibNameOrNil: yourNibName, bundleOrNil: nil)
self.presentViewController(vc, animated: true, completion: nil)
希望这可以帮助.. :)
最简单的方法是通过右键单击您开始的视图并将蓝线拖动到结果视图控制器来创建一个 segue,然后点击 show segue 选项。 然后将segue的标识符设置为“segue”。 现在在视图控制器中的任何位置添加此代码:
self.performSegueWithIdentifier("segue", sender: nil)
这将触发将转到您的 resultViewController 的 segue
在 iOS 中切换屏幕的最简单方法是。 在当前屏幕上添加一个按钮。 然后按下 control 并将按钮拖动到目标屏幕。 然后选择推送。 当您点击按钮时,屏幕将切换到目标屏幕。 确保您使用的是 UINavigationViewController。
Shaba 的回答是一个好的开始,但需要以下内容,以便您可以从视图控制器中控制 segue:
override func shouldPerformSegue(withIdentifier identifier: String,
sender: Any?) -> Bool {
// your code here
// return true to execute the segue
// return false to cause the segue to gracefully fail }
vc = YourViewController()
UIApplication.shared.keyWindow?.rootViewController = vc
或者
vc = YourViewController()
UIApplication.shared.keyWindow?.rootViewController = UINavigationController(rootViewController: vc) //如果你想给那个VC添加导航功能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.