tabBarController不显示

我想以编程方式制作tabbarcontrollertabBarController不显示在页面中。 任何人都可以告诉我们错了。我们可以在一个应用程序中创build多个tabbarcontroller

 ViewController.m - (void)viewDidLoad { report=[[UIViewController alloc]initWithNibName:@"ViewController" bundle:nil]; View1 *template=[[View1 alloc]initWithNibName:@"View1" bundle:nil]; View2 *acc=[[View2 alloc]initWithNibName:@"View2" bundle:nil]; View3 *four=[[View3 alloc]initWithNibName:@"View3" bundle:nil]; View4 *five=[[View4 alloc]initWithNibName:@"View4" bundle:nil]; nav1=[[UINavigationController alloc]initWithRootViewController:report]; nav2=[[UINavigationController alloc]initWithRootViewController:template]; nav3=[[UINavigationController alloc]initWithRootViewController: acc]; nav4=[[UINavigationController alloc]initWithRootViewController:four]; nav5=[[UINavigationController alloc]initWithRootViewController:five]; UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"Title" image:[UIImage imageNamed:@"singleicon.png"] tag:0]; UITabBarItem *item1 = [[UITabBarItem alloc] initWithTitle:@"Reports" image:[UIImage imageNamed:@"doubleicon.png"] tag:1]; UITabBarItem *item2 = [[UITabBarItem alloc] initWithTitle:@" New " image:[UIImage imageNamed:@"clockicon.png"] tag:2]; UITabBarItem *item3=[[UITabBarItem alloc]initWithTitle:@"four" image:[UIImage imageNamed:@"dependenticon.png"] tag:3]; UITabBarItem *item4=[[UITabBarItem alloc]initWithTitle:@"five" image:[UIImage imageNamed:@"toolicon.png"] tag:4]; nav1.tabBarItem = item; nav2.tabBarItem = item1; nav3.tabBarItem = item2; nav4.tabBarItem=item3; nav5.tabBarItem=item4; //[item1 setBadge:@"25"]; self.tabBarController=[[UITabBarController alloc]init]; [self.tabBarController setViewControllers:[NSArray arrayWithObjects:nav1,nav2,nav3,nav4,nav5,nil]]; self.report = self.tabBarController; // [self.report makeKeyAndVisible]; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } 

使用下面的代码:

  self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1,nav2,nav3,nav4,nav5,nil]]; self.window.rootViewController = self.tabBarController; 

更新:

也隐藏和显示UITabBar然后使用波纹pipe代码..

只要把这个方法放在AppDelegate.m文件中,当你想隐藏tabbar的时候就创buildAppDelegate对象,然后调用bellow的hideTabBar方法

 - (void) hideTabBar:(UITabBarController *) tabbarcontroller { int height = 480; [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:0.3]; for(UIView *view in tabbarcontroller.view.subviews) { if([view isKindOfClass:[UITabBar class]]) { [view setFrame:CGRectMake(view.frame.origin.x, height, view.frame.size.width, view.frame.size.height)]; } else { [view setFrame:CGRectMake(view.frame.origin.x,view.frame.origin.y, 320, 436)]; } } [UIView commitAnimations]; } - (void) showTabBar:(UITabBarController *) tabbarcontroller { int height = 436; [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:0.3]; for(UIView *view in tabbarcontroller.view.subviews) { if([view isKindOfClass:[UITabBar class]]) { [view setFrame:CGRectMake(view.frame.origin.x, height, view.frame.size.width, view.frame.size.height)]; } else { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, height)]; } } [UIView commitAnimations]; } 

把所有的编码放在button的动作中,像这样推tabBarController : –

 [self.navigationController pushViewController:tabBarController animated:YES]; 

如果你想以编程方式添加UITabBarController ,那么你需要将你的tabbarcontroller添加到你的ViewController 。 你需要使用这一行,

 [self.view addSubview:self.tabBarController.view]; 

您需要添加tabBarController,因为您错过了一行

我只是做了这个

 [self.navigationController pushViewController:tabBarController animated:YES];