受信したローカル通知の処理で多くの問題が発生しています。私のアプリはストーリーボードを使用しており、rootviewcontroller として tabbarcontroller を持っています。現在、次の方法で「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];
これは機能しますが、すべての場合ではありません。その時点で表示できる他のものよりも、新しいウィンドウにモーダル ビューを表示したいと思います。ユーザーが着信通知を処理すると、モーダル ビューは閉じられ、通知が着信する前にアクティブだった基になるビューが再び表示されます。どうすればこれを達成できますか?