1

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

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

self.selectedViewController = myVController;

这是行不通的。

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

谢谢你。

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

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

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

4

2 回答 2

4

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

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

也许这是你的问题?

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

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

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

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

}
于 2010-02-16T22:37:09.393 回答
-1

我这样做的方式是使用self.tabBarController.selectedIndex = 1(第一个选项卡位于索引 0)。

于 2009-05-04T11:07:06.490 回答