Swift 5 iOS13 - 在不创建卡片视图的情况下转到另一个故事板或未连接的视图控制器

Swift 5 iOS13 - Segue to another Storyboard or unconnected View Controller without creating Card View

keyWindow 在 iOS 13 中也已弃用,因此我找到了解决此问题的另一种方法。

随着 Swift 5.1、iOS 13 和 Xcode 11 的当前更新,下面的代码在使用时会创建 "card view",因此用户可以轻松向下滑动并return 到上一个视图。然而,问题是如果用户在使用下面的代码时登录或注销,用户可以在注销后 return 到登录屏幕或主应用程序,这是有问题的。将故事板或未连接的视图控制器之间的用户转移到不创建 "card view" 的地方的最佳方法是什么? "Work around solution" 的问题是 keyWindow 已被弃用。它正在寻找官方解决方案。

在故事板和未连接的视图控制器之间进行 segue 的旧方法

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Start")
self.present(vc, animated: true, completion: nil)

变通解决方案

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "homeVC") as! UITabBarController 
UIApplication.shared.keyWindow?.rootViewController = vc

如果您真的喜欢“旧方法”,请继续使用它,但添加一行将 vcmodalPresentationStyle 设置为 .fullScreen