【发布时间】:2013-07-11 11:31:45
【问题描述】:
在我正在开发的应用程序中,我有以下导航图:
SplashScreen (VC) ->TabBarController -> (item1) Navigation Controller -> Map -> Homepage -> (item2) 导航控制器 -> 列表 ^
TabBarController 之前是一个启动画面 (UIViewController),带有一个按钮,该按钮连接到通向切换板的模态序列。所有其他的 segues 都是 push。
Item #1 是一个视图控制器,它包含一个对象映射,其中包含指向一个单独对象主页的链接,该主页包含有关所选对象的详细信息。
Item #2 是一个 UITableViewController,它具有对象列表,并且还链接到同一个对象主页 UIViewController。
这两者也嵌套在包含每个项目和浮标主页的导航控制器中。
现在如果你在地图上选择一个浮标并打开它的浮标主页,然后转到列表选项卡并选择一个浮标,如果你再次返回选择地图选项卡,它仍然会显示主页第一个选定的浮标。
我想做的是,当用户点击任一选项卡时,它会将他们直接带到地图或列表 - 永远不会回到之前选择的浮标。
我已经搜索了一段时间,我最接近的是这个,在我的 AppDelegate.m 里面的 didSelectViewController:
NSInteger tag = viewController.tabBarItem.tag;
if (tag == 4)
{
NSLog(@"Map Button........");
UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"TheMap"];
self.window.rootViewController = vc;
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController.tabBarController;
[navigationController pushViewController:vc animated:YES];
}
这将我带回地图,但没有来自任一导航控制器的导航元素。
这是我的第一个 iOS 应用程序,我浏览了一些 Apple 的文档并查看了他们的示例代码,但我没有找到一个专门解决我的问题的应用程序。
谢谢!
【问题讨论】:
标签: ios cocoa-touch uiviewcontroller storyboard uitabbarcontroller