在某些情况下,我希望我的应用程序呈现的视图控制器与正常加载的视图控制器不同(在本例中为 AltView 而非 MainView ),但我可以&# 39;弄清楚如何做到这一点。我试过这样:
let storyboard = UIStoryboard.init(name: "Alt", bundle: nil)
let nav = storyboard.instantiateViewControllerWithIdentifier("AltView")
let mainStoryboard = UIStoryboard.init(name: "Main", bundle: nil)
let rootVC = mainStoryboard.instantiateViewControllerWithIdentifier("MainView")
self.window!.rootViewController = rootVC
window!.makeKeyAndVisible()
self.window!.rootViewController?.presentViewController(nav, animated: true, completion: nil)
但没有任何反应,屏幕只是空白,没有报告任何错误或警告。
编辑: AltView 是UINavigationController
,其中嵌入了UIViewController
。正在运行 AltView 的嵌入式视图控制器的viewDidLoad()
方法,但其viewWillAppear()
方法不是。
我做错了什么?
答案 0 :(得分:0)
只需像这样设置窗口控制器
let mainStoryboard = UIStoryboard.init(name: "Main", bundle: nil)
let nav = storyboard.instantiateViewControllerWithIdentifier("AltView")
self.window!.rootViewController = nav
如果您想更改控制器,请使用相同的代码再次更改窗口rootviewcontroller,只需将标识符更改为您想要的控制器,并且您不需要此语句`self.window!.rootViewController?.presentViewController( nav,animated:true,completion:nil) 如果您遇到任何问题请告诉我