ios 5 打开一个带有正确 TabBar 和 NavController 包装的特定视图控制器
Posted
技术标签:
【中文标题】ios 5 打开一个带有正确 TabBar 和 NavController 包装的特定视图控制器【英文标题】:ios 5 opening a specific viewcontroller with the correct TabBar and NavController wrapped 【发布时间】:2012-08-16 19:57:23 【问题描述】:我会尽力解释这一点。
我的应用程序有一个作为主导航的 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】:一种方法是通过委托。如果在委托中,则调用相关的导航控制器:
self.navigationController
那么你必须这样做:
YourAppDelegate *delegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.navigationController pushViewController:groceryViewController animated:YES];
(将“YourAppDelegate”替换为您的应用代理的实际名称)
【讨论】:
我似乎无法让它工作。我使用了你的模型,但没有显示视图控制器。以上是关于ios 5 打开一个带有正确 TabBar 和 NavController 包装的特定视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jqueryMobile 中正确创建类似于 iOS tabbarController 的 tabbar 控制器?