UITabBarController

UITabBarController

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

UITabBarController的相关属性

//初始化三个UIViewController, 一个 UINavigationController, 一个 UITabBarController
//这几个视图控制器之间的关系是: UITabBarController 管理 FirstViewController 和 UINavigationController
//UINavigationController 的根视图控制器是 SecondViewController
//在SecondViewController 中可以跳转到 DetailViewController
FirstViewController *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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值