在UITabBarController中打开一个视图

时间:2009-05-04 07:33:31

标签: iphone cocoa-touch uitabbarcontroller

我需要以编程方式打开标签栏中的某个标签。

我尝试从我的UITabBarController调用以下方法:

self.selectedViewController = myVController;

哪个不起作用。

打开标签的正确方法是什么?

谢谢。

更新:我尝试了以下代码:

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];

为我打开了一个理想的标签(正在被选中),但活动视图没有被更新。

2 个答案:

答案 0 :(得分:4)

关于selectedIndex属性,Apple的文档说:

  

在之前的iPhone OS版本中   版本3.0,此属性反映   所选标签栏项的索引   只要。试图将此值设置为   视图控制器的索引   在标签栏中看不到,但是   而是由更多导航管理   控制器,没有效果。

也许这是你的问题?

一种可能的解决方法是使用您自己的UITabBar并处理您自己的观看次数。然后你可以做这样的事情:

[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];

只需实施UITabBarDelegate并定义此功能即可获取项目选择消息并手动切换视图。 (虽然如果您使用的是高级UITabBarController功能,可能不值得您努力。)

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{

}

答案 1 :(得分:-1)

我这样做的方法是使用self.tabBarController.selectedIndex = 1(第一个标签位于索引0)。