从应用程序委托访问导航控制器

Access UINavigation Controller from the app delegate

我想从 appDelegate 访问一个嵌入了 UINavigation 控制器的视图控制器。

我知道我可以直接访问那个视图控制器,但是在这种情况下导航栏不会出现,所以这不是我想要的,我该怎么做。

我试过下面找到的代码,但它提示警告并出现黑屏。

var storyboard1 = UIStoryboard(name: "Main", bundle: nil)
        var viewController: ExamNav_ViewController = storyboard1.instantiateViewControllerWithIdentifier("ExamNav_ViewController") as! ExamNav_ViewController
        var rootViewController = self.window!.rootViewController as! UINavigationController
   // rootViewController.pushViewController(viewController, animated: true)
    rootViewController.presentViewController(viewController, animated: true, completion: nil)

警告是:尝试在 UINavigationController 上呈现 PlayMyWay.ExamNav_ViewController: 0x14fd19b50: 0x14fd13a90 其视图不在 window 层次结构中!

window = UIWindow(frame: UIScreen.mainScreen().bounds)
let navController: UINavigationController = UIStoryboard(name: "Main", bundle:nil).instantiateViewControllerWithIdentifier("provaNavController") as UINavigationController
window?.rootViewController = navController
window?.makeKeyAndVisible()

更多Click here to learn about that

var storyboard = UIStoryboard(name: "Main", bundle: nil)
var objOrderVC = storyboard.instantiateViewControllerWithIdentifier("ExamNav_ViewController") as! ExamNav_ViewController
                    let navig = UINavigationController(rootViewController: objOrderVC)
                    navig.setNavigationBarHidden(false, animated: false)
                    window?.rootViewController = navig