代码之家  ›  专栏  ›  技术社区  ›  Steve N

收到推送通知时显示模式

  •  1
  • Steve N  · 技术社区  · 14 年前

    每当接收到推送通知时(应用程序运行时),我需要显示通知模式。我的应用程序有一个标签栏,我通过将通知模式推到标签栏控制器上使其部分工作。

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {        
        NotificationViewController *vc = [[NotificationViewController alloc] init];
        [tabBarController presentModalViewController:vc animated:YES];
        [vc release];
    }
    

    但是,当已经存在隐藏选项卡栏控制器的不同模式打开时,这似乎失败了。确保NotificationViewController 当接收到推送通知时显示,即使已经存在隐藏选项卡栏控制器的模式打开?

    1 回复  |  直到 14 年前
        1
  •  4
  •   Mayjak    14 年前

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {      
        UIViewController* currentController = tabBarController;
        if ( [currentController modalViewController] != nil )
              currentController = [currentController modalViewController];
    
        NotificationViewController *vc = [[NotificationViewController alloc] init];
        [currentController presentModalViewController:vc animated:YES];
        [vc release];
    }
    

    可能不是最漂亮的事情,因为它打开了另一个模态控制器在模态控制器,但它的工作。