收到本地通知后,我将打开一个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一起使用。

我试图从情节提要中插入选项卡项,并改用Presented Segue,但仍无法关闭PendingRequestVC。

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

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

提前致谢

最佳答案

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

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


当您要使用创建的NavController关闭PendingRequestVC时:

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

关于swift - 具有嵌入在其中的UINavigationController的InstantiateViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30408423/

10-12 14:35