0

我会尽力解释这一点。

我的应用程序有一个 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];
4

1 回答 1

0

一种方法是通过委托。如果在委托中,则调用相关的导航控制器:

self.navigationController

然后你必须这样做:

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

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

于 2012-08-16T20:43:41.800 回答