为什么在 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 硬件 -> 清除所有内容和设置 或 重启设备 将解决您的问题。
我遇到的问题是删除故事板上的根箭头并在 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 硬件 -> 清除所有内容和设置 或 重启设备 将解决您的问题。