iOS基础-UIKit框架-多控制器管理-UITabBarController


一、UITabBarController的创建(利用代码)
1.新建一个空项目,在MJAppDelegate.m的didFinishLaunch...方法中

//1.创建tabbar控制器
UITabBarController *tabbarVc = [[UITabBarController alloc] init];

//2.设置为window的根控制器
self.window.rootViewController = tabbarVc;

//3.添加子控制器
UIViewController *vc1 = [[UIViewController alloc] init];
vc1.view.backgroundColor = [UIColor redColor];
vc1.tabBarItem.title = @"联系人";
vc1.tabBarItem.image = [UIImage imageNamed:@"tab_buddy_nor"];

UIViewController *vc2 = [[UIViewController alloc] init];
vc2.view.backgroundColor = [UIColor blueColor];
vc2.tabBarItem.title = @"动态";
vc2.tabBarItem.image = [UIImage imageNamed:@"tab_qworld_nor"];

UIViewController *vc3 = [[UIViewController alloc] init];
vc3.view.backgroundColor = [UIColor greenColor];
vc3.tabBarItem.title = @"设置";
vc3.tabBarItem.image = [UIImage imageNamed:@"tab_me_nor"];

tabbarVc.viewControllers = @[vc1,vc2,vc3];


[self.window makeKeyAndVisible];

效果图

PS:选中状态的图片变蓝是系统自动实现的,不用自己做。

UITabBarController的view结构(注意TabBar的高度为49)
PS:当点击最左边时,显示vc1的view,点击中间时,先将vc1的view移开(没有销毁),然后将vc2的view放上去,除非发生内存警告才会销毁目前没有使用的view


二、UITabBarController的创建(利用storyboard)
1.来到storyboard,将默认控制器View删除,拖一个TabBarController。将连着线的两个控制器View删除,将线也删除。拖3个ViewController。
2.将默认控制器文件删除,自己新建3个控制器文件,并将storyboard里3个ViewController的Class对应修改。
3.来到storyboard,右击TabBarController,将view controllers按顺序连接到新拖的ViewController上。
4.分别选中3个ViewController的按钮,并分别修改Title

原文地址:https://www.cnblogs.com/marshall-yin/p/4741413.html