你的位置:首页 > 操作系统

[操作系统]UITabBarController(标签栏控制器)

一、标签栏控制器的基本概念

      UITabBarController 继承于视图控制器,通过标签栏项的形式来管理视图控制器,各个标签栏项之间的视图控制器彼此独立,互不影响。

    (1)UITabBarController中各个视图控制器的生命周期与UITabBarController的生命周期是一致的;

    (2)点击不同的标签栏项(UITabBarItem),展现不同的视图控制器的View;

    (3)被选中的标签栏项对应的视图控制器的View处于显示状态,其他视图控制器的View处于卸载状态。

二、标签栏控制器的优点

    (1)使应用程序模块化,各个模块之间低耦合,团队开发易于分工;

    (2)应用程序的扩展性强,可以根据需求选择性的增、删模块。

三、标签栏控制的创建

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];  self.window.backgroundColor = [UIColor whiteColor];  [self.window makeKeyAndVisible];  RootViewController *rootCtrl = [[RootViewController alloc] init];  //创建导航控制器  UINavigationController *navCtrl = [[UINavigationController alloc] initWithRootViewController:rootCtrl];  navCtrl.title = @"首页";  //创建视图  UIViewController *vc1 = [[UIViewController alloc] init];  vc1.title = @"收藏";  UIViewController *vc2 = [[UIViewController alloc] init];  vc2.title = @"搜索";  UIViewController *vc3 = [[UIViewController alloc] init];  vc3.title = @"设置";  NSArray *controllers = [NSArray arrayWithObjects:navCtrl,vc1,vc2,vc3,nil];    //创建标签栏控制器的实例  UITabBarController *tabCtrl = [[UITabBarController alloc] init];    //将存有视图控制器实例的数组赋给tabCtrl  tabCtrl.viewControllers = controllers;  //默认选择第2个视图选项卡(索引从0开始的)  tabCtrl.selectedIndex = 1;  //把tabBarController的view作为子视图添加到window  self.window.rootViewController = tabCtrl;