【问题标题】:Show modal upon receiving push notification收到推送通知时显示模式
【发布时间】:2010-08-23 04:55:36
【问题描述】:

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

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

但是,当已经有一个隐藏标签栏控制器的不同模式打开时,这似乎失败了。确保 NotificationViewController始终在收到推送通知时显示的最佳方法是什么,即使已经有一个模式打开隐藏了标签栏控制器?

【问题讨论】:

    标签: iphone uiviewcontroller modal-dialog push-notification


    【解决方案1】:

    您可以做两件事。首先是关闭当前的模态控制器,但这可能会使用户感到困惑。第二件事是这样的:

    - (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];
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多