Iphone 如何以编程方式更改(UITabViewController的)选项卡?

Iphone 如何以编程方式更改(UITabViewController的)选项卡?,iphone,cocoa-touch,Iphone,Cocoa Touch,我正试图通过编程方式选择/更改UITabViewController的选项卡 我试着通过: self.tabBarController.selectedIndex = 2; 这看起来是我应该做的,但它不起作用。我想self.tabBarController可能会返回一个只读对象(我记得在某处读过),但我不确定如何让它工作 感谢您的帮助 设置选定的视图控制器: self.tabBarController.selectedViewController = viewControllerYouWant

我正试图通过编程方式选择/更改UITabViewController的选项卡

我试着通过:

self.tabBarController.selectedIndex = 2;
这看起来是我应该做的,但它不起作用。我想self.tabBarController可能会返回一个只读对象(我记得在某处读过),但我不确定如何让它工作


感谢您的帮助

设置选定的视图控制器:

self.tabBarController.selectedViewController = viewControllerYouWant;
比如说,

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

根据文档,
selectedIndex
selectedViewController
是您想要的属性,并且都是可分配的

tabBarController属性是只读的,但它返回一个可编辑的对象


因此,您的所有代码在我看来都是正确的。

我正在做这样的事情:

[root setSelectedViewController: [root.historyController navController]];

这对我来说很好,如果你想按索引做的话

[self.tabBarController setSelectedIndex:2];

只是想确定一下,您是否提供了正确的索引?选项卡索引是从零开始的,所以对于第二个选项卡,您应该提供索引1。