AppDelegate 中 UITabBarController 模态呈现 VC

Modally present VC from UITabBarController in AppDelegate

我试图在每次打开应用程序时从 AppDelegate 触发模态视图。我可以看到我的断点被击中,但模式从未显示。我附上了我的故事板的图像以防万一。它现在是一个相当简单的应用程序,带有 2 个选项卡选项卡栏控制器。

这是我在 AppDelegate 中用于触发它的代码。

let newVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "LoginView")
let view = window?.rootViewController as! UITabBarController
view.selectedViewController?.show(newVC, sender: nil)

似乎 newVC 不在选项卡栏的控制器数组中,您正试图从 AppDelegate 中的 selectedViewController 模态显示它,而那里可能没有尚未选择视图控制器。

一种解决方案是在所选视图控制器(selectedIndex 处的视图控制器)的 viewDidLoad 之后显示 newVC。如果必须在加载任何标签栏的视图控制器之前进行演示,那么您可能想将其设置为 window 的根视图控制器,并将根设置为标签栏一次 newVC已经完成了它的业务。