我需要以编程方式打开标签栏中的某个标签。
我尝试从我的UITabBarController调用以下方法:
self.selectedViewController = myVController;
哪个不起作用。
打开标签的正确方法是什么?
谢谢。
更新:我尝试了以下代码:
self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];
为我打开了一个理想的标签(正在被选中),但活动视图没有被更新。
答案 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)。