我想要从AppDelegate呈现/推入嵌入在NavController中的VC。我以前使用这个代码,但不知何故它不工作了:从AppDelegate呈现嵌入在导航控制器中的VC
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let VC = storyboard.instantiateViewControllerWithIdentifier("PendingRequest") as! PendingRequestVC
let navController = UINavigationController.self(rootViewController: VC)
let rootViewController = UIApplication.sharedApplication().keyWindow!.rootViewController
rootViewController!.presentViewController(navController, animated: false, completion: nil)
其他代码打开我所需的VC,但不在导航窗格中。任何指导将不胜感激。
用户与推送通知进行交互后,从AppDelegate进行调用。
编辑: 我能够通过使用此代码呈现正确的VC:
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if let viewController = mainStoryboard.instantiateViewControllerWithIdentifier("PendingNavController") as? UINavigationController {
if let yourViewController = viewController.topViewController as? PendingRequestVC {
//yourViewController.getRequestdata()
}
UIApplication.sharedApplication().keyWindow!.rootViewController = viewController;
}
但这种代码不会让我回去使用我的NavBar关闭按钮。 我的结构如下:
TabController - > NavController1 - > VC1 - > NavController1a - > VC1a 我试图去VC1a并能够使用闭合按钮返回到VC1
为什么你想要通过应用程序来做这件事Delegate? – lukaivicev
它是否嵌入在故事板上的导航控制器中? –
@lukesIvi我应该提到它:用户与推送通知进行交互后的操作。 –