点击目标c中的一个button后,如何推送标签栏控制器?

我在视图中有一个button,我想单击button后添加标签栏控制器。 我怎样才能做到这一点?

首先,我不认为把一个标签栏作为一个子视图是一个好主意

但如果你仍然想这样做,有很多方法可以解决

其中之一是通过使用modalview

首先,您必须在制作button后添加此代码

[button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; 

它将一个事件监听器附加到你所拥有的button上

接下来,您将使事件函数执行标签栏推送

 -(void)buttonTapped: (UIButton *)sender { YourTabBarClass *myTabBar = [[YourTabBarClass alloc]initWithNibName:nil bundle:nil]; myTabBar.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentModalViewController:myTabBar animated:YES]; } 

并且不要忘记导入.m中的tabbarcontroller类头文件

 #import "YourTabBarClass.h" 

希望这个帮助;)

编辑:如果你需要从标签栏视图返回到前一个菜单,你可以添加一个button,给它一个事件监听器,并把这个代码放入函数

 [self resignFirstResponder]; [self dismissModalViewControllerAnimated:YES]; 
 -(IBAction)BtnPressed:(id)sender { UIViewController *searchViewController = [[[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil] autorelease]; searchViewController.title = @"Search"; UIViewController *exploreViewController = [[[SearchViewController alloc] initWithNibName:@"ExploreViewController" bundle:nil] autorelease]; exploreViewController.title = @"Explore"; UIViewController *dialerViewController = [[[DialerViewController alloc] initWithNibName:@"DialerViewController" bundle:nil] autorelease]; dialerViewController.title = @"Dialer"; self.tabBarController = [[[UITabBarController alloc]init]autorelease]; self.tabBarController.viewControllers = [NSArray arrayWithObjects:searchViewController, exploreViewController, dialerViewController, nil]; [self presentModalViewController:tabBarController animated:YES]; } 

不要忘了创build相应的nib文件(dialerViewController.xib,SearchViewController.xib,DialerViewController.xib),并使这些视图高达411px(这是给你的)

谢谢