导航视图中的TabBar selectedindex按钮

时间:2012-04-30 16:39:20

标签: xcode cocoa-touch uitabbarcontroller

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

tabBar是在故事板中创建的,所以我的heirarchy看起来像这样:

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

这个想法是这样的:

标签A 标签B 标签C 标签D
| | | |
navCon1 navCon2 navCon3 navCon4

我想在其中一个(如1-4所示,已经正确调用)导航控制器上的按钮,它将使用按钮将父TabBarController的selectedIndex设置为A B C或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将自动恢复到其顶部的heriarchy ......但这是另一个问题:)

谢谢你, 银虎

1 个答案:

答案 0 :(得分:0)

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