如何在 swift 5 中呈现来自 appdelegate 和 scenedelegate 的视图控制器?

how to present view controller from appdelegate or scenedelegate in swift5?

如何在 swift 5 中呈现来自 appdelegate 和 scenedelegate 的视图控制器? 我试过了但没用:

self.window = UIWindow(frame: UIScreen.main.bounds)
                let storyboard = UIStoryboard(name: "Main", bundle: nil)
                let initialViewController = storyboard.instantiateViewController(withIdentifier: "profile")
                self.window?.rootViewController = initialViewController
                self.window?.makeKeyAndVisible()

问题是您正在将 window 的根视图控制器初始化为实例化的故事板视图。您需要像这样设置 window 的根视图:

    self.window?.rootViewController = ProfileViewController()

这会将其直接设置为 swift 文件,该文件应该是某种 UIViewController,并且不使用 Storyboard。

确保初始化您的视图控制器。

window?.rootViewController = ViewController() 

您是在 SceneDelegate 中执行此操作吗?如果是这样,您可以使用 windowScene

初始化 window

来源:https://youtu.be/2oo0tO1E9ys