整合TabBarController与NavigationController
一、项目结构
一开始创建一个空的项目
二、主要代码
1、AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; UITabBarController *tabBarController = [[UITabBarController alloc] init]; FirstViewController *one = [[FirstViewController alloc] init]; one.title=@"联系人"; one.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemContacts tag:0]; UINavigationController *navFirst = [[UINavigationController alloc] initWithRootViewController:one]; [tabBarController addChildViewController:navFirst]; SecondViewController *two = [[SecondViewController alloc] init]; two.title=@"收藏"; two.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:1]; UINavigationController *navSecond = [[UINavigationController alloc] initWithRootViewController:two]; [tabBarController addChildViewController:navSecond]; self.window.rootViewController=tabBarController; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES; }
2、FirstViewController.m
- (void)viewDidLoad { [super viewDidLoad]; UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(selectRightAction:)]; self.navigationItem.rightBarButtonItem = rightButton; } -(void)selectRightAction:(id)sender { ChildViewController *childViewController; childViewController =[[ChildViewController alloc] initWithNibName:@"ChildViewController" bundle:nil]; childViewController.title=@"添加联系人"; [self.navigationController pushViewController:childViewController animated:YES]; }
3、SecondViewController.m
默认内容
4、ChildViewController.m
默认内容
三、运行效果
1、初始界面
2、进入第一个视图的子视图
3、切换到第二个视图