我在尝试设置tabBarController的当前选项卡时遇到问题,其中我有两个嵌套的视图。应用程序启动时,我想更改正在显示的默认选项卡。因此,我在其中一个嵌套视图控制器的viewDidLoad中执行此操作。我可以通过以下方式禁用tabBarController:
self.tabBarController.tabBar.userInteractionEnabled = NO;
并且tabBarController有一个地址(它存在)。
我尝试了一些更改标签的不同变体,包括:
self.tabBarController.selectedIndex = 1;
和
[self.tabBarController setSelectedIndex:1];
然而,似乎都不起作用。但是,当我通过IB动作调用这些函数时,它们可以工作。
这是由一个嵌套控制器完成的。也许这必须在其他地方完成?
答案 0 :(得分:1)
在UITabBarController上使用selectedIndex属性。
controller.selectedIndex = tabBarButtonIndex;
或使用
[controller setSelectedIndex:tabBarButtonIndex];
希望这会有所帮助
答案 1 :(得分:0)
确保您先拨打[super viewDidLoad]
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tabBarController setSelectedIndex:1];
}