1

我在尝试为其中嵌套了两个视图的 tabBarController 设置当前选项卡时遇到问题。当应用程序启动时,我想更改显示的默认选项卡。结果,我是在嵌套视图控制器之一的 viewDidLoad 之外执行此操作的。我可以通过以下方式禁用 tabBarController:

 self.tabBarController.tabBar.userInteractionEnabled = NO;

并且 tabBarController 有一个地址(它存在)。

我尝试了几种不同的更改选项卡的变体,包括:

self.tabBarController.selectedIndex = 1;

[self.tabBarController setSelectedIndex:1];

但是似乎都不起作用。但是,当我通过 IB 操作调用这些函数时,它们会起作用。

这是在嵌套控制器之一中完成的。也许这必须在其他地方完成?

4

2 回答 2

1

使用 UITabBarController 上的 selectedIndex 属性。

 controller.selectedIndex = tabBarButtonIndex;

或使用

[controller setSelectedIndex:tabBarButtonIndex];

希望这可以帮助

于 2013-09-30T11:21:19.013 回答
0

确保你[super viewDidLoad]先打电话

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.tabBarController setSelectedIndex:1];
}
于 2013-09-30T10:44:26.957 回答