【发布时间】:2014-01-17 10:42:10
【问题描述】:
我有一个UITabBarController,有 4 个选项卡,前两个是“程序”和“锻炼”。
在第一个选项卡的视图中,用户可以选择他们想要执行的程序,然后点击“执行锻炼”,这会将他们带到锻炼屏幕。
我的目标是将锻炼屏幕显示为与程序选择相同的导航控制器的一部分,但是我想更新 UITabBarController 以反映我们现在在锻炼屏幕上的事实。
问题是,如果我打电话
UITabBarController *tabController = (UITabBarController*)self.navigationController.parentViewController;
[tabController setSelectedIndex:1];
这会在新的UINavigationController 中打开WorkoutViewController,而不是使用旧的。我意识到两个UINavigationController 问题是因为我的storyboard 而发生的,但是如果我没有两个单独的UINavigationControllers,TabView 不会一直保持在顶部(第一次推送后它会消失) .
如何更新我的UITabBarController 上的selectedIndex 而不强制它加载新的UINavigationController?
【问题讨论】:
-
如果你有两个导航控制器会有什么问题
-
当我调用 [tabController setSelectedIndex:1] 时,“锻炼”屏幕在它自己的导航控制器内打开(即没有返回按钮可以返回程序选择屏幕)。
标签: ios objective-c uinavigationcontroller storyboard uitabbarcontroller