0

我有一个带有 tabBar 的应用程序,我想使用调用的 UIViewControllers 上的按钮来设置选定的索引。

tabBar 是在情节提要中创建的,所以我的层次结构如下所示:

mainTabBarController Scene
  First Reponder
  mainTabBarController
    mainTabBar
  multiple relationships for the proper ViewControllers

这个想法是这样的:

选项卡 A              选项卡 B              选项卡 C              选项卡 D
    | | | |
navCon1 navCon2 navCon3 navCon4

我想要一个按钮(如 1-4 所示,已经正确调用)导航控制器,它将使用按钮将父 TabBarController 的 selectedIndex 设置为 ABC 或 D。我尝试务实地添加按钮,但我不明白如何引用 tabBarBontroller 以强制更改所选索引:

这很好用,因为我有一个名为 refreshPage 的函数

UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc]
                              initWithMarButtonStyleItem:UIBarButtonSystemItemRefresh target:self;
                              action:@selector(refreshPage:)
                              ];

这不起作用,因为我可能不正确地引用父 tabBarController

UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
                              initWithMarButtonStyleItem:UIBarButtonSystemItemCancel target:self;
                              action:[self.tabBarController selectedIndex:1]
                              ];

我给 tabBarController 起了一个名字,里面的 tabBar .. 但我似乎也不能用这些名字来引用它们。任何建议将不胜感激。

这只是我遇到的一个问题,因为当我转到另一个选项卡时,我还希望 TabBar 子项默认返回主选项卡(或父视图控制器),这样当我在 TAb A 上并导航到控制器 1 或 1a 时等,如果我转到选项卡 B,选项卡 A 将自动恢复到其层次结构的顶部......但这是另一个问题:)

谢谢银虎

4

1 回答 1

0

使用第一种方法并在“refreshPage”方法中调用[self.tabBarController selectedIndex:1]。

于 2012-04-30T16:50:48.470 回答