从以编程方式创建的TabBarController推送视图

时间:2011-07-10 13:41:05

标签: uitableview ios4 uinavigationcontroller uitabbar

我创建了一个标签栏控制器,如下所示:

tabBarController = [[UITabBarController alloc] init];
tabBarController.view.frame = CGRectMake(0, 0, 320, 460);

NSMutableArray *tabsArray = [[NSMutableArray alloc] init];

//tab1: dive info
LogsDetailDive *logsDetailDive = [[LogsDetailDive alloc] initWithNibName:@"LogsDetailDive" bundle:nil];
[logsDetailDive initWithLogSelected:logSelected:siteSelected];
logsDetailDive.title = @"Info";
logsDetailDive.tabBarItem.image = [UIImage imageNamed:@"/images/logs.png"];
[tabsArray addObject:logsDetailDive];

//tab2: deco info
...

//tab3: equipment info
...

//tab3: computer info
...

tabBarController.viewControllers = tabsArray;

[logsDetailDive release];

[self.view addSubview:tabBarController.view];

此标签控制器从上一个表视图推送到导航控制器。 我现在想要的是显示从LogsDetailDive中的tableview推送的另一个视图,但我真的无法理解我错过了什么,因为它不起作用。 你能提出什么建议吗? 感谢

1 个答案:

答案 0 :(得分:0)

UITabBarController reference

  

因为UITabBarController类继承自UIViewController类,所以选项卡栏控制器具有可通过view属性访问的自己的视图。部署选项卡栏界面时,必须将此视图安装为窗口的根目录。与其他视图控制器不同,标签栏界面不应该作为另一个视图控制器的子项安装。

所以底线,这不应该做,并会导致一些问题。如果您需要标签栏布局,则应使用工具栏。