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
已经完成了它的业务。
我试图在每次打开应用程序时从 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
已经完成了它的业务。