2012-04-30 48 views
0

我有一个tabBar应用程序,我想使用被调用的UIViewControllers上的按钮来设置选定的索引。TabBar selectedindex按钮导航内查看

使用TabBar是在故事板创建的,因此我的层次结构是这样的:

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

的想法是这样的:

选项卡中将                            tab B                            标签Ç                           标签d
        |                                             |                                           |                                           |
navCon1                   navCon2                 navCon3                   navCon4

我想上的一个(如图1-4的按钮,已经正确调用)导航公司使用按钮将父级TabBarController的selectedIndex设置为A B C或D的ntroller。我试着务实添加按钮,但我不明白如何引用tabBarBontroller,以迫使选定的指标发生变化:

这工作得很好,因为我有一个名为refreshPage

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

功能这不起作用,因为我likley referenceing不当

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

我已经给tabBarController不结盟运动父tabBarController e和它内的tabBar ..但我似乎无法使用这些名称来引用它们。任何建议,将不胜感激。

这只是我遇到的一个问题,因为我还想让TabBar子项默认返回到主选项卡(或父级视图控制器),当我转到另一个选项卡时,以便在TAb A上导航到控制器1,或1A等,如果我去片乙选项卡会自动恢复到它的顶部是heriarchy ...但是,这是另一个问题:)

谢谢 银虎

回答

0

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

+0

nah .. refreshPage是重新加载当前页面的单独函数...我不想更改该特定函数中的选项卡。我想要一个单独的按钮来选择标签,因为我指定了这是为什么我将它作为2个函数。 – Silvertiger

+0

对不起,我没有意识到他们是不同的按钮。但同样的原则仍然适用。创建一个名为“goBack”的函数,该函数在点击该按钮时运行。并在该功能中设置选定的标签索引。 – oojoe

+0

正如你所看到的那样。我认为我创建的第二个按钮(* backButton)就是这样做的......但它不起作用。我认为这是因为我错误地引用了标签栏... – Silvertiger