1. 多控制器管理可以通过UINavigationController管理, 也可以通过UITabBarController管理。
2. UINavigationController(导航控制器)、 UITabBarController(选项卡控制器)
** 目标: 通过UITabBarController实现多控制器管理。
3. UITabBarController控制器的基本使用步骤:
1> 创建UITabBarController对象。
UITabBarController *tabBar = [[UITabBarController alloc] init];
2> 设置UIWindow的rootViewController为UITabBarController。
self.window.rootViewController = tabBar;
3> 通过addChildViewController方法添加对应的自控制器。
[tabBar addChildViewController:vwCtrler];
4> 通过新建一个"空项目"来演示纯代码的方式来使用UITabBarController。
/**
参考代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//2.创建UITabBarController
UITabBarController * tabVC = [[UITabBarController alloc] init];
//设置背景颜色
tabVC.view.backgroundColor = [UIColor redColor];
//创建第一个子控制器
OneViewController * one = [[OneViewController alloc] init];
//设置标题
one.tabBarItem.title = @"老大";
//设置图片
one.tabBarItem.image = [UIImage imageNamed:@"navigationbar_friendsearch"];
//设置徽章
one.tabBarItem.badgeValue = @"10";
//添加子控制器
[tabVC addChildViewController:one];
//创建第二个子控制器
TwoViewController * two = [[TwoViewController alloc] init];
two.tabBarItem.title = @"老二";
//添加子控制器
[tabVC addChildViewController:two];
//创建第三个子控制器
ThreeViewController * three = [[ThreeViewController alloc] init];
three.tabBarItem.title = @"小三";
//添加子控制器
[tabVC addChildViewController:three];
//3.把刚刚创建的控制器设置给窗口的根控制器
self.window.rootViewController = tabVC;
return YES;
}
*/
4. 介绍TabBarController的View结构。
** 提示: 导航控制器的导航栏的高度是44。UITabBarController的TabBar的高度是49。
5. TabBarController的viewControllers数组属性。
* 这个属性中包含了所有添加到TabBarController中的子视图。
6. TabBarController如何进行不同子视图之间的切换?
** 注意: 当切换的时候, 是把旧的View从父控件中移除(没有销毁), 然后将新的View添加进来。
** 注意:在UITabBarController中的那些控制器, 当切换的时候是不会销毁的,只是暂时不显示了。
7. 如果UITabBarController有N个子控制器, 那么UITabBar内部就就会有N个UITabBarButton作为子控件。
* UITabBarButton里面显示什么内容, 由对应的自控制器的tabBarItem决定。
* 注意, 控制器的tabBarItem不需要重新创建对象, 直接设置内容即可。
* UITabBarItem的常用属性:
* title, 标题文字
* image, 图片
* selectedImage, 选中时显示的图片(如果不提供选中图片, 那么默认选中时就是"蓝色"图片。).
* badgeValue, 提醒数字
* 补充: UITabBarController中的那个默认的View(最底部), 就是UITabBar。
8. 通过storyboard使用UITabBarController。
浙公网安备 33010602011771号