1

当我收到推送通知时,我希望导航控制器返回第一个视图。可以识别标签栏,但是导航控制器不会向后移动。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    if (application.applicationState == UIApplicationStateInactive){

        UITabBarController *tabb = (UITabBarController *)self.window.rootViewController;
        tabb.selectedIndex = 0;

        UINavigationController *nav = (UINavigationController *)tabb.navigationController;
        [nav popToRootViewControllerAnimated:YES];
    }
}

在此处输入图像描述

4

1 回答 1

1

我;在这一行中,您说您要访问包含您的选项卡控制器的 UINavigationController。

UINavigationController *nav = (UINavigationController *)tabb.navigationController;

但是,您似乎想要访问选项卡控制器中包含的导航控制器。

由于它是第一个控制器,您可以像这样访问它:

UINavifationController *nav = (UINavifationController *)[tabb.viewControllers objectAtIndex:0];
于 2013-08-23T03:12:24.583 回答