我正在尝试使用代码从一个UIViewController切换到另一个。目前我有:
self.presentViewController(ResultViewController(), animated: true, completion: nil)
这只是让我进入了一个黑屏,而不是ResultViewController。有什么建议吗?
使用Storyboard。为第二个视图控制器创建一个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)
Swift 3
以模态方式呈现控制器
let vc = self.storyboard!.instantiateWithIdentifier("SecondViewController")
self.present(vc, animate: true, completion: nil)
self.show(vc, sender: self)
self.performSegueWithIdentifier("segue", sender: nil)
试试这个:
let vc = ViewController(nibNameOrNil: yourNibName, bundleOrNil: nil)
self.presentViewController(vc, animated: true, completion: nil)
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添加导航功能
NibName
是什么? - Andremoniy