【发布时间】:2014-05-04 11:19:33
【问题描述】:
我在我的项目中使用SWRevealViewController,我想在应用收到通知时打开一个特定的控制器。我尝试了很多解决方案,但没有任何效果。
如何从我的 AppDelegate 中显示特定的 ViewController?
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
UIApplicationState appState = UIApplicationStateActive;
if ([application respondsToSelector:@selector(applicationState)]) {
appState = application.applicationState;
}
application.applicationIconBadgeNumber = 0;
if (appState != UIApplicationStateActive) {
SWRevealViewController *navigationController = (SWRevealViewController *)self.window.rootViewController;
UINavigationController *nav = (UINavigationController *)navigationController;
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
PushNotificationsVC *controller = (PushNotificationsVC*)[mainStoryboard instantiateViewControllerWithIdentifier: @"PushNotificationsVC"];
[nav pushViewController:controller animated:YES];
} else {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Notification"
message:[NSString stringWithFormat:@"%@",[[userInfo objectForKey:@"aps"] valueForKey:@"alert"]]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
【问题讨论】:
-
您应该阅读FAQ 来提出好的问题。
-
我的项目中有一个幻灯片菜单,因为我使用了 SWRevealViewController 组件。当我收到推送通知时,我想打开一个特定的屏幕(ViewController)。我无法从 appdelegate 中打开特定的控制器。(applicationDidReceiveNotification)。你明白我想说的吗??
-
如果您有任何想法,请回复
-
你试过这个吗:
[self.window.rootViewController presentViewController:MyCustomViewController animated:NO completion:nil]?你能告诉我们你在-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;有什么吗?
标签: ios iphone swrevealviewcontroller