質問

すべてのタブ内にタブバーとナビゲーションコントローラーを備えたアプリがあります。昼食時に、ユーザーはアラートでアクションを押すことでアプリを昼食をとることができるという通知を設定しました。

ユーザーをコントローラーのいずれか内のビューの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 本当にプッシュしたいとき UINavigationControllerdetailViewController そのルートビューとして。このようなことを試してみてください:

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]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top