我会尽力解释这个问题。
我的应用程序有一个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];
答案 0 :(得分:0)
要做到这一点的一种方法是通过代表。如果在委托中,则调用相关的导航控制器:
self.navigationController
然后你必须这样做:
YourAppDelegate *delegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.navigationController pushViewController:groceryViewController animated:YES];
(将“YourAppDelegate”替换为应用代表的实际名称)