2009-02-18 75 views
11

我试图以编程方式选择/更改UITabViewController的选项卡。如何以编程方式更改(UITabViewController的)选项卡?

我想通过这样做:

self.tabBarController.selectedIndex = 2; 

这看起来是我应该做的方式,但它不工作。我想也许self.tabBarController返回一个只读对象(我不知道如何让它工作。

任何帮助表示赞赏!

+0

可以肯定的是 - 您是否提供了正确的索引?选项卡索引是**零**,因此对于第二个选项卡,您应该提供索引1。 – 2013-05-29 17:12:25

回答

29

集selectedViewController:

self.tabBarController.selectedViewController = viewControllerYouWant; 

例如,

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

根据该文档,selectedIndexselectedViewController是你想要的属性,并且都分配。

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

所以你所有的代码看起来都适合我。

0

我在做这样的事情:

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

这很适合我,如果你想通过指数来做到这一点。

[self.tabBarController setSelectedIndex:2]; 
相关问题