繁体   English   中英

iPhone-应用仍在运行,收到推送通知=更改视图

[英]iPhone - App still running, receive push notification = change view

我正在尝试在应用程序仍在运行时收到推送通知时更改视图。 我尝试在AppDelegate.m中使用它

-(void)application:(UIApplication *)application didRecieveNotification:(NSDictionary *)userInfo
{ 
   TestClass *aTestClassViewController = [[TestClass alloc]initWithNibName:@"TestClass" bundle:nil];
   [self presentModalViewController:aTestClassViewController animated:YES];
   [aTestClassViewController release];
}

但这没有用。 我什至无法再次启动该应用程序。 所以我猜这是错误的方法。

有想法吗? 我会很感激。

解决了***我是这样做的->我首先显示了一个警报视图(无论如何我还是需要),然后使用了

-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
    TestClass *aSelectionScreenViewController = [[TestClass alloc] initWithNibName:@"TestClass" bundle:nil];
    [viewController presentModalViewController:aSelectionScreenViewController animated: YES]; 
    [aSelectionScreenViewController release];   }

我们缺少有关您的应用程序的某些上下文,但是您的基本问题是,接收通知的是应用程序委托对象,而不是视图控制器。 这就是为什么你不能只做[self presentModalViewController:someViewController];

我认为这是您自己的答案中的摘录,它满足了您的需求:您的应用程序委托(大概)有一个“ viewController”成员,它是应用程序的根视图控制器。 您需要促使该viewController对象执行所需的任何操作。 在我现在正在查看的应用程序中,我在应用程序委托中有一个tabBarController成员,并且在显示通知时显示警报视图和/或更改选定的选项卡索引。

我将让您的应用程序委托在消息进入时在主视图控制器上调用一个函数,并让该函数显示警报视图,然后进行所需的任何状态更改以使主视图控制器反映接收到的通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM