Swift - 远程通知和导航控制器流程

时间:2014-12-11 04:38:06

标签: ios swift uinavigationcontroller push-notification

我正在设置推送通知,我将使用一些数据发送到设备,我想在导航控制器堆栈上加载某个视图。 但是,我想保持导航堆栈的完整性,即目标视图控制器仍然应该有一个带后退按钮的导航栏,以便返回到前一个视图控制器等。

流速: 导航控制器 - >根视图控制器 - >目标控制器。

如何在不丢失层次结构和功能的情况下在UINavigationController堆栈中显示特定的非根视图控制器?

现在我正在执行此操作并正确显示View Controller,但没有导航栏:

        let idPushNotification = userInfo["idPushNotification"] as String
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let destinationViewController = storyboard.instantiateViewControllerWithIdentifier("DestinationViewController") as DestinationViewController
        destinationViewController.idPushNotification = idPushNotification.toInt()!

        let navigationController = self.window?.destinationViewController;
        navigationController?.presentViewController(destinationViewController, animated: false, completion: nil)

1 个答案:

答案 0 :(得分:3)

您正在呈现视图控制器,因此它不会显示任何导航栏。您需要导航堆栈上的pushViewController

    let navigationController:UINavigationController = self.window?.destinationViewController as UINavigationController;
    navigationController?.pushViewController(destinationViewController, animated: false)