【问题标题】:Go back to initial root ViewController返回初始根 ViewController
【发布时间】:2017-04-26 21:28:26
【问题描述】:

在我的应用程序中,我有一个登录控制器,它是我的初始视图控制器,当我登录应用程序时,由于这段代码,我更改了我的根视图控制器:

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let newVC = storyBoard.instantiateViewControllerWithIdentifier("SecondViewController") as! SecondViewController
self.view.window?.rootViewController = newVC

但是现在,当我单击断开连接按钮时,我想返回我的登录页面。问题是我无法访问此页面。无论我尝试什么,它都会重新加载 SecondViewController 而不是 LoginController。这是我尝试过的:

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let projectVC = newVC.instantiateViewControllerWithIdentifier("LoginController") as! LoginController
self.view.window?.rootViewController = newVC

或者

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let newVC = storyBoard.instantiateInitialViewController()
self.view.window?.rootViewController = newVC

是否可以回到最初的 viewcontroller ?或者有没有办法重新加载我的应用程序?

感谢您的帮助:)

【问题讨论】:

  • 你真的不应该再次更改根 VC,只显示登录中的“主”?
  • 似乎代码中有错误,不是吗?在第二个代码块中,您从 newVC 实例化视图控制器,并提及未使用的 projectVC。
  • 是的,当我重写代码时确实是一个错误。所以最后我不会在登录后更改root VC。谢谢!

标签: ios swift viewcontroller


【解决方案1】:

不更改窗口上的 rootViewController 属性的最佳方法是将某些父视图控制器设置为“根”,并根据需要向其添加/更改子视图控制器(登录、主等)。

【讨论】:

  • 好的,所以我将修改我的应用程序。谢谢!
猜你喜欢
  • 2012-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多