我在处理传入的本地通知时遇到了很多问题。我的应用程序正在使用情节提要,并有一个 tabbarcontroller 作为 rootviewcontroller。目前我以下列方式从“didReceiveLocalNotification”启动模态视图:
MedicationReminderViewController *vc = [[MedicationReminderViewController alloc] initWithNibName:@"MedicationReminderViewController" bundle:nil];
vc.notificationInfo = [[NSDictionary alloc] initWithDictionary:notification.userInfo];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc];
navController.navigationBar.barStyle = UIBarStyleBlackOpaque;
navController.title = @"title";
UITabBarController *tc = (UITabBarController *)self.window.rootViewController;
UINavigationController *nc = (UINavigationController *)tc.selectedViewController;
[[nc visibleViewController] presentModalViewController:navController animated:YES];
这有效,但并非在所有情况下都有效。我想在新窗口中显示模态视图,而不是当时可以显示的任何其他内容。当用户处理传入的通知时,模态视图将自行关闭,并且在通知传入之前处于活动状态的底层视图将再次可见。我怎样才能做到这一点?