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;

 

你可能感兴趣的:(controller)