·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> UITabBarController(标签栏控制器)

UITabBarController(标签栏控制器)

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

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

      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;