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

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

self.selectedViewController = myVController;

哪个不起作用。

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

谢谢。

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

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

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

有帮助吗?

解决方案

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

  

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

也许这是你的问题?

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

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

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

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

}

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top