带有UINavigationController的instantiateViewController它嵌入在

时间:2015-05-23 02:53:45

标签: swift

我在接到本地通知时打开VC。

func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
    application.applicationIconBadgeNumber = 0
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    var VC = storyboard.instantiateViewControllerWithIdentifier("PendingRequest") as! PendingRequestVC
    let navController = UINavigationController.self(rootViewController: VC)

    UIApplication.sharedApplication().keyWindow!.rootViewController = navController

}

出现的PendingRequestVC以编程方式关闭标签项,不能与我在上面的代码中创建的navController一起使用。

我试图从故事板中插入标签项并使用Presents Segue代替,但我还是无法关闭我的PendingRequestVC。

如何使用NavController调用PendingRequestVC,而不是创建一个新的?

或者如何使用创建的NavController关闭我的PendingRequestVC?

提前致谢

1 个答案:

答案 0 :(得分:1)

为什么要设置keyWindow的rootViewController?您可能需要呈现模态视图控制器:

let rootViewController = UIApplication.sharedApplication().keyWindow!.rootViewController
rootViewController.presentViewController(navController, animated: false, completion: nil)

如果要使用创建的NavController关闭PendingRequestVC:

// PendingRequestVC
self.dismissViewControllerAnimated(true, completion: {});