ios 5打开一个特定的viewcontroller,包含正确的TabBar和NavController

时间:2012-08-16 19:57:23

标签: ios uiviewcontroller uinavigationcontroller uitabbarcontroller

我会尽力解释这个问题。

我的应用程序有一个TabBarController,它作为主导航

我有一个模态视图,我想要添加一个列表。可以从2个不同的视图控制器访问该屏幕。

从主要路线我简单地关闭模态,一切都很好。但是从第二条路线我需要能够打开一个全新的ViewController。

我遇到的问题是我似乎无法打开包含TabBar和NavBar的ViewController。

这是我正在玩的代码,试图让它发挥作用。

    UITabBarController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainInterface"];
    tabController.selectedIndex = 1;
    //_window.rootViewController = tabController;
    UINavigationController *groceryNavController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainNavController"];
    UIViewController *groceryViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"GroceryViewController"];

    UIViewController *currentVC = self;
    [currentVC.navigationController pushViewController:groceryViewController animated:YES];

1 个答案:

答案 0 :(得分:0)

要做到这一点的一种方法是通过代表。如果在委托中,则调用相关的导航控制器:

self.navigationController

然后你必须这样做:

YourAppDelegate *delegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.navigationController pushViewController:groceryViewController animated:YES]; 

(将“YourAppDelegate”替换为应用代表的实际名称)