Iphone 在UITabBarController中打开视图
我需要以编程方式打开选项卡栏中的某个选项卡 我尝试从UITabBarController调用以下方法:Iphone 在UITabBarController中打开视图,iphone,cocoa-touch,uitabbarcontroller,Iphone,Cocoa Touch,Uitabbarcontroller,我需要以编程方式打开选项卡栏中的某个选项卡 我尝试从UITabBarController调用以下方法: self.selectedViewController = myVController; 这不管用 打开选项卡的正确方式是什么 多谢各位 更新:我尝试了以下代码: self.selectedViewController = [ [self viewControllers] objectAtIndex: 0]; 这将为我打开一个所需的选项卡(它正在被选中),但活动视图未被更新 我的方法是使用
self.selectedViewController = myVController;
这不管用
打开选项卡的正确方式是什么
多谢各位
更新:我尝试了以下代码:
self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];
这将为我打开一个所需的选项卡(它正在被选中),但活动视图未被更新 我的方法是使用self.tabBarController.selectedIndex=1(第一个选项卡位于索引0)。关于
selectedIndex
属性,苹果的文档说:
在之前的iPhone操作系统版本中
版本3.0,此属性反映
所选选项卡栏项目的索引
只有正在尝试将此值设置为
视图控制器的索引,该索引是
在选项卡栏中不可见,但不可见
而是由更多的导航管理
控制器,没有效果
也许这就是你的问题
一种可能的解决方法是使用自己的uitabar
并处理自己的视图。然后你可以这样做:
[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];
只需实现uitabardelegate
,并定义此函数即可获取项目选择消息并手动切换视图。(虽然如果您使用的是高级UITabBarController
功能,但可能不值得您付出努力。)
它与我的代码有相同的问题。视图并不总是更新。
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
}