通知の後、アプリデリゲートのタブバー内でビューコントローラーを押します
-
24-10-2019 - |
質問
すべてのタブ内にタブバーとナビゲーションコントローラーを備えたアプリがあります。昼食時に、ユーザーはアラートでアクションを押すことでアプリを昼食をとることができるという通知を設定しました。
ユーザーをコントローラーのいずれか内のビューの1つにリダイレクトしたいと思います。
私はこれを試しました:
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif {
NSArray *data = [notif.userInfo objectForKey:@"todoDate"];
NSInteger ind = [[data objectAtIndex:2] integerValue];
QuickViewController *detailViewController ;
detailViewController = [[QuickViewController alloc] initWithNibName:@"QuickViewController" bundle:nil];
detailViewController.title = @"Edit";
detailViewController.personName = [data objectAtIndex:0];
detailViewController.DelitionDate=[data objectAtIndex:1];
detailViewController.personCategory=@"NO Category";
detailViewController.personID = ind r ;
rootControler.selectedIndex = 1;
[rootControler.tabBarController.selectedViewController.navigationController pushViewController:detailViewController animated:YES];
}
しかし、以下を除いて、何も起こっていません(クラッシュしません):rootControle.selectedIndex = 1;
私が試したとき:PresentModalviewController
ナビゲーションコントローラーはありませんが、ビューを完璧に取得しました。
ありがとうシャニ
解決
あなたがプッシュしているように聞こえます detailViewController
本当にプッシュしたいとき UINavigationController
と detailViewController
そのルートビューとして。このようなことを試してみてください:
QuickViewController *detailViewController ;
detailViewController =
[[QuickViewController alloc] initWithNibName:@"QuickViewController"
bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc] initWithRootViewController:detailViewController];
[detailViewController release];
...
[rootControler.tabBarController.selectedViewController.navigationController
pushViewController:navigationController animated:YES]
所属していません StackOverflow