iPhone以编程方式选择Tab AND推视控制器

SAH*_*AHM 3 iphone tabbar pushviewcontroller single-sign-on facebook-graph-api

使用Facebook的新SSO,登录Facebook意味着我的应用程序暂时关闭.问题是我的应用程序要求规定它不能在后台运行.因此,当我的应用程序重新启动时,它位于原始选项卡/视图控制器上.

我试图让事情回到facebook登录视图.这需要以编程方式选择选项卡并从该选项卡推送到单独的视图控制器.

我可以通过编程方式选择一个选项卡没问题:

[[UIApplication sharedDelegate].tabBarController setSelectedIndex:4];
Run Code Online (Sandbox Code Playgroud)

但是我无法从新选择的选项卡中推送视图控制器.我试过了

AboutViewController *nextViewController = [[AboutViewController alloc] initWithStyle:UITableViewStyleGrouped];
    ((AboutViewController *)nextViewController).hidesBottomBarWhenPushed = NO;
    [[[[[UIApplication sharedDelegate] tabBarController] selectedViewController ] navigationController] pushViewController:nextViewController animated:NO];
    [nextViewController release];
Run Code Online (Sandbox Code Playgroud)

AboutViewController *nextViewController = [[AboutViewController alloc] initWithStyle:UITableViewStyleGrouped];
    ((AboutViewController *)nextViewController).hidesBottomBarWhenPushed = NO;
    [[[[[UIApplication sharedDelegate] tabBarController] navigationController] pushViewController:nextViewController animated:NO];
    [nextViewController release];
Run Code Online (Sandbox Code Playgroud)

甚至可以这样做吗?

G S*_*G S 6

试试这个:

AboutViewController *nextViewController = [[AboutViewController alloc] initWithStyle:UITableViewStyleGrouped]; 
[[self.tabBarController.viewControllers objectAtIndex:4] pushViewController: nextViewController animated:NO]; 
[nextViewController release];
Run Code Online (Sandbox Code Playgroud)