点击目标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(这是给你的)
谢谢