切换/导航TabBarController中的选项卡

时间:2011-06-14 18:51:40

标签: iphone objective-c ios uinavigationcontroller uitabbarcontroller

所以我的标签栏控制器中有2个标签。

我在Tab 2中有一个按钮,如果我点击它,控件需要传递给Tab 1,它应该成为当前的视图控制器。

//I should not use navigation for this because the view would navigate
the present view to the view in tab 1 ; but the tab will still indicate Tab 2//

当我点击按钮时,我只需要它转到标签1。

3 个答案:

答案 0 :(得分:2)

您可以设置UITabBarController的selectedIndexselectedViewController属性,以编程方式更改当前标签。

答案 1 :(得分:2)

当您点击该按钮时,只需让它发送以下内容

self.tabBarController.selectedIndex = 0;

这将告诉它切换到索引中的第一个标签(标签1)

如果要为更改添加动画,则使用transitionFromView:toView:duration:options:completion:。要实现这一点,你将使用这样的东西:

[UIView transitionFromView:self.view 
    toView:[[self.tabBarController.viewControllers objectAtIndex:0] view] 
    duration:1 /*or whatever time you want*/ 
    options:/*specify your animation transition here, they are found in the UIView documentation*/ 
    completion:(void (^)(BOOL finished))completion:^(BOOL finished) {
        if (finished) {
            tabBarController.selectedIndex = 0;
        }
    }];

这些选项可让您控制它的转换方式,并且有一个很好的列表,列出了您可以执行的所有操作。然后,完成块允许您指定完成后要执行的操作。在这种情况下,它将切换到选项卡1,因此它是新的主控制器

答案 2 :(得分:1)

您是否可以在UITabBarController上设置selectedIndex属性?