使用selectedViewController属性以编程方式切换选项卡

时间:2012-03-09 11:37:56

标签: ios uitabbarcontroller

我已经使用过搜索,但没有找到答案。

尝试像这样切换:

[self. tabBarController.selectedViewController OptionsViewContorller];

并且像这样:

 [self.tabBarController.selectedViewController = self.tabBarController.viewControllers     objectAtIndex:3];

但它不起作用,我也试过并建议改变

self.tabBarController.selectedIndex

但它只会在标签栏中更改而不是视图。

4 个答案:

答案 0 :(得分:6)

这应该有效。

self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];

答案 1 :(得分:1)

//这段代码我用来切换到tabbar view controller 0,第一个视图控制器。

self.tabBarController.selectedIndex = 0;

UIViewController *controller = [self.tabBarController.viewControllers objectAtIndex:0];
if ([controller isKindOfClass:[UINavigationController class]]) {
    [((UINavigationController*)controller) popToRootViewControllerAnimated:false];
}

[self.navigationController popToRootViewControllerAnimated:true];

答案 2 :(得分:0)

// viewControllerIndex is an int describing the position of the viewController
// in the tab bar array index
[self.tabBarController setSelectedIndex:viewControllerIndex];

答案 3 :(得分:0)

迅捷4 +

在显示视图之前,您必须先获取选项卡的引用

let tab = self.presentingViewController as! UITabBarController
self.dismiss(animated: true, completion:{ 
     tab.selectedIndex = 2
})