Ios4 基于导航的项目中的uitabbarcontroller/uitabbar

Ios4 基于导航的项目中的uitabbarcontroller/uitabbar,ios4,uinavigationcontroller,uitabbarcontroller,uitabbar,Ios4,Uinavigationcontroller,Uitabbarcontroller,Uitabbar,我已经创建了基于导航的项目。在第二个屏幕中,我想添加uitabbarcontroller。那么,谁能建议我怎么做呢 我已经做了很多搜索,但还没有成功。请你提供一个简单的例子。我已经尝试过下面的讨论,但我认为这不是一个好方法 谢谢实际上这是正确的方法。有一件事是不正确的,那就是控制器是在哪里分配的。这发生在前一个控制器中,即进行推送的控制器,但应分配到负责的对象TabBarController中 在执行显示UITabBarController的操作时,请执行以下代码: - (void) theA

我已经创建了基于导航的项目。在第二个屏幕中,我想添加uitabbarcontroller。那么,谁能建议我怎么做呢

我已经做了很多搜索,但还没有成功。请你提供一个简单的例子。我已经尝试过下面的讨论,但我认为这不是一个好方法


谢谢

实际上这是正确的方法。有一件事是不正确的,那就是控制器是在哪里分配的。这发生在前一个控制器中,即进行推送的控制器,但应分配到负责的对象TabBarController中

在执行显示UITabBarController的操作时,请执行以下代码:

- (void) theAction {
   SomeTabBarControllerSubClass *controller = [[SomeTabBarControllerSubClass alloc] init];
   [self.navigationController pushViewController:controller animated:YES];
   [controller release];
}
然后,当您实现SomeTabBarControllerSubClass时:
(.h)

(.m)


self.viewControllers=[NSArray arrayWithObject:first,second,nil];这里是self.viewControllers=[NSArray arrayWithObjects:first,second,nil];
@interface SomeTabBarControllerSubClass : UITabBarController {
   UIViewController *first;
   UIViewController *second;
}

@end
@implementation SomeTabBarControllerSubClass

- (void) viewDidLoad {
   first = [[UIViewController alloc] init]; //Or initWithNib:
   second = [[UIViewController alloc] init];

   first.view.backgroundColor = [UIColor greenColor] //Just example
   second.view.backgroundColor = [UIColor redColor] //Just example
   first.tabBarItem.image = [UIImage imageNamed:@"someImage.png"];

   self.viewControllers = [NSArray arrayWithObjects:first,second,nil];
}

- (void) dealloc {
   [first dealloc];
   [second dealloc];
   [super dealloc];
}

@end