【问题标题】:Open a view in UITabBarController在 UITabBarController 中打开一个视图
【发布时间】:2009-05-04 07:33:31
【问题描述】:
我需要在我的标签栏中以编程方式打开某个标签。
我尝试从我的 UITabBarController 调用以下方法:
self.selectedViewController = myVController;
这不起作用。
打开标签的正确方法是什么?
谢谢。
更新:我尝试了以下代码:
self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];
这为我打开了一个理想的选项卡(它正在被选中),但活动视图没有被更新。
【问题讨论】:
标签:
iphone
cocoa-touch
uitabbarcontroller
【解决方案1】:
关于selectedIndex 属性,Apple 的文档说:
在 iPhone OS 之前的版本中
3.0 版,此属性反映
所选标签栏项目的索引
只要。试图将此值设置为
视图控制器的索引是
在标签栏中不可见,但
而是由更多导航管理
控制器,无效。
也许这是你的问题?
一种可能的解决方法是使用您自己的UITabBar 并处理您自己的视图。然后你可以这样做:
[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];
只需实现UITabBarDelegate 并定义此函数即可获取项目选择消息并手动切换视图。 (虽然如果您使用的是高级 UITabBarController 功能,则可能不值得您努力。)
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
}
【解决方案2】:
我的做法是使用self.tabBarController.selectedIndex = 1(第一个标签位于索引0)。