在我正在开发的应用程序中,我有以下导航图:
SplashScreen (VC) ->TabBarController -> (item1) Navigation Controller -> Map -> Homepage -> (item2) Navigation Controller -> List ^
在 TabBarController 之前是一个带有单个按钮的启动画面 (UIViewController),该按钮连接到通向交换机的模态序列。所有其他的segues都是push。
项目#1 是一个视图控制器,它包含一个对象映射,其中包含指向一个单独对象主页的链接,该主页包含有关所选对象的详细信息。
项目 #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 的文档并查看了他们的示例代码,但我还没有找到一个专门解决我的问题的应用程序。
谢谢!