为什么在 swift5 中更改根视图时看不到启动(启动)屏幕?

Why I can't see Launch(Splash) Screen when change Root View in swift5?

我遇到的问题是删除故事板上的根箭头并在 AppDelegate 文件中设置根视图以动态更改 RootView。

移动根视图没有问题,但是现有的splashScreen(Launch Screen)不可见。为什么看不到?如何查看 splashScreen(Launch Screen) 并转到根视图?

Main.Storyboard

Login.Storyboard,

Launch.Storyboard

在 AppDelegate.swift

中移动根屏幕
var window: UIWindow?

    func switchStartUI() {
        let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let viewController = mainStoryboard.instantiateViewController(withIdentifier: "StartViewController")
        self.window?.rootViewController = viewController
    }

    func switchToMainUI() {
        let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let viewController = mainStoryboard.instantiateViewController(withIdentifier: "NavigationController")
        self.window?.rootViewController = viewController
    }

    func switchLoginUI(_ pushtype : String) {
        let loginStoryboard = UIStoryboard(name: "Login", bundle: nil)
        let viewController = loginStoryboard.instantiateViewController(withIdentifier: "MainLoginController") as! MainLoginController
        viewController.pushType = pushtype
        self.window?.rootViewController = viewController
    }

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        self.window = UIWindow(frame: UIScreen.main.bounds)
      if let screenData : String = LocalStorage.get("ScreenView") as? String {
            switch (screenData) {
            case "success":
                switchToMainUI()
            case "success1":
                switchLoginUI("")
            case "success2":
                switchLoginUI("")
            default:
                switchStartUI()
            }
        } else {
            switchStartUI()
        }

        self.window?.makeKeyAndVisible()

        return true
    }

我想查看启动画面并转到根视图

我的闪屏上已经有一张图片。它工作正常。但是在动态修改根视图后我看不到启动画面。我也一样

我只能看到黑屏。当移除两个函数时

self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.makeKeyAndVisible()

对我来说,出现白屏,然后进入根视图页面。

不知道为什么看不到启动画面

我该如何解决这个问题??

提前致谢

这是一个简单的解决方案。 'Launch.Added 根箭头到 'Storyboard'.

我也遇到过。但是,我从模拟器 select 硬件 -> 清除所有内容和设置 重启设备 将解决您的问题。