每次打开应用程序时,从AppDelegate显示模态视图控制器

时间:2018-03-30 00:41:58

标签: ios swift presentviewcontroller

我有一个应用程序,每次应用程序打开时我都需要显示一个pin / login屏幕。我的计划是从AppDelegate做到这一点。我一直试图拼凑如何做到这一点,但我被困在两件上。

我的应用是标签视图控制器,因此我无法确定需要提供哪个控制器。

我试过这个来获得根控制器: >>> seq array([['CCCT'], ['GCGA']], dtype='<U4') >>> lookup_3[seq.view(np.int32)].reshape(len(seq), -1) array([[0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0], [0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1]], dtype=uint8) 但是没有。我相信这是因为标签控制器没有嵌入导航控制器中,尽管其中的两个控制器都是。

所以我的两个问题归结为:

  1. 如果我将代码放入didFinishLaunchingWithOptions,那么每次打开应用程序时都会打开吗?
  2. 如何让根控制器视图显示模态,因为它是一个TabViewController?

1 个答案:

答案 0 :(得分:1)

1-关于如何知道索引,您可以将rootVC强制转换为tabBarController并向其询问当前索引(selectedIndex),如下所示

let currentIndex = rootTab.selectedIndex

2-您可以将rootVC作为

if let rootTab = window?.rootViewController as? UITabBarController

您可以在应用变为有效时(applicationDidBecomeActive)委托方法

显示它

获取VC

let vc = rootTab.viewControllers[rootTab.selectedIndex]