设置RootViewController时未显示NavigationBar标题

时间:2017-05-30 08:27:45

标签: ios swift uinavigationcontroller segue rootviewcontroller

我创建了一个ViewController,每次应用程序进入前台时都会显示。这是因为我希望用户每次应用程序进入前台时都会进行身份验证(就像银行应用程序一样)。我以这种方式实现了这个功能:

  func applicationDidEnterBackground(_ application: UIApplication) {
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let controller = storyboard.instantiateViewController(withIdentifier: "localauth")
        self.window!.rootViewController = controller;
        self.window!.makeKeyAndVisible();
  }

self.window!是AppDelegate.swift的属性。我自己添加了这个。我不确定这是要走的路:

var window: UIWindow?

当应用程序进入后台时,AppDelegate中的此函数将当前ViewController切换到Auth ViewController。因此,当应用程序再次进入前台时,将显示“localAuth”ViewController。

当用户通过身份验证时,处理身份验证的ViewController会显示下一个ViewController:

self.performSegue(withIdentifier: "localAuthed", sender: self);

LocalAuth ViewController通过名为localAuthed的segue与故事板中的下一个ViewController连接。下一个ViewController是一个NavigationController,因此它显示了嵌入在该NavigationController中的第一个ViewController。

现在发生了什么。显示了右侧嵌入的ViewController,但缺少操作栏的标题。当我等待一段时间后,会出现标题。

我呈现ViewControllers的方式是正确的吗?

0 个答案:

没有答案