UITabBarController

来源:互联网 发布:kali linux树莓派 编辑:程序博客网 时间:2024/06/11 13:39

UITabBarController

UITabBarController 用来管理具有并列关系的视图控制器, (包括 UINavigationController 和 UIViewController), 多个界面同时存在

UITabBarController的相关属性

//初始化三个UIViewController, 一个 UINavigationController, 一个 UITabBarController//这几个视图控制器之间的关系是: UITabBarController 管理 FirstViewController 和 UINavigationController//UINavigationController 的根视图控制器是 SecondViewController//在SecondViewController 中可以跳转到 DetailViewControllerFirstViewController *firstVC = [[FirstViewController alloc] init];SecondViewController *secondVC = [[SecondViewController alloc] init];DetailViewController *detailVC = [[DetailViewController alloc] init];UINavigationController *secondNVC = [[UINavigationController alloc] init];UITabBarController *tabBarVC = [[UITabBarController alloc] init];
  1. 配置标签视图控制器所管理的多个视图控制器
    NSArray *controllerArray = @[firstVC, secondVC, thirdNVC, forthVC, fifthVC, sixthVC]; 
    tabBarVC.viewControllers = controllerArray;
  2. 修改标签栏颜色
    tabBarVC.tabBar.barTintColor = [UIColor whiteColor];
  3. 修改标签栏的渲染颜色(文字颜色)
    tabBarVC.tabBar.tintColor = [UIColor orangeColor];
  4. 设置默认选择的标签(标签的索引从 0 开始)
    tabBarVC.selectedIndex = 1;
  5. 设置默认选择的视图控制器
    tabBarVC.selectedViewController = firstVC;
  6. 设置背景颜色
    tabBarVC.tabBar.backgroundImage = [UIImage imageNamed:@"320x49"];
  7. 设置某一标签的标题
    firstVC.tabBarItem.title = @"消息";
  8. 设置某一标签的图片
    firstVC.tabBarItem.image = [UIImage imageNamed:@"tabbar_mainframe"];
  9. 设置某一标签的角标
    firstVC.tabBarItem.badgeValue = @"New"; 
    secondVC.tabBarItem.badgeValue = @"1";
  10. 设置某一标签选中之后的图片
    firstVC.tabBarItem. selectedImage = [UIImage imageNamed:@"tabbar_discover"];
  11. 当在 secondNVC 中要跳转到 detailVC 时隐藏 TabBarController
    //在 secondVC 中有一个 Button , 点击 Button 会跳转到 detailVC 中, 在 detailVC 中隐藏 TarBarController 
    //下面是 Button 的响应方法
    -(void)handlePushBtn:(UIButton *)sender {
    DetailViewController *detailVC = [[DetailViewController alloc] init];
    //当push 到下一界面时隐藏标签栏
    detailVC.hidesBottomBarWhenPushed = YES;
    [self.navigationController pushViewController:detailVC animated:YES
    ];
    [detailVC release];
    }

UITabBarControllerDelegate的相关方法

  1. 询问标签是否被选中
    - (BOOL)tabBarController:(UITabBarController )tabBarController shouldSelectViewController:(UIViewController )viewController;
  2. 当标签选中之后触发
    - (void)tabBarController:(UITabBarController )tabBarController didSelectViewController:(UIViewController )viewController;
  3. 将要开始自定义标签视图控制器所管理的多个视图控制器时触发(点击 more 中的 Edit 按钮, 将要开始编辑标签时触发)
    - (void)tabBarController:(UITabBarController )tabBarController willBeginCustomizingViewControllers:(NSArray )viewControllers;
  4. 完成标签栏编辑时触发
    - (void)tabBarController:(UITabBarController )tabBarController didEndCustomizingViewControllers:(NSArray )viewControllers changed:(BOOL)changed;
0 0
原创粉丝点击