UITabBarController

原创 2015年11月18日 22:21:12

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;
版权声明:本文为博主原创文章,未经博主允许不得转载。

改变UITabBarController选中的View Controller

视图结构: 可以先获取View Controller的TabBarController,然后改变其selectedIndex即可: /* 当前位于第一个ViewController...
  • u010962810
  • u010962810
  • 2014年02月04日 23:23
  • 4696

UITabBarController和UINavigationController的整合使用

好多项目都同时用到了UITabBarController和UINavigationController,XCode可以直接创建这两个控制器中的其中一个,但是要一起用的话就得稍微麻烦点。层级关系首先得搞...
  • hwe_xc
  • hwe_xc
  • 2016年01月27日 15:38
  • 9370

UITabBarController自定义底栏图标和字体颜色

UITabBarController在开发中是经常用到的系统组件之一,一般刚入门的iOS开发者都会简单的使用,在StoryBoard里面直接设定好图片就行,但是这样出来的效果就是图片默认是灰色,选中时...
  • momo_Pro
  • momo_Pro
  • 2017年09月22日 14:59
  • 195

iOS UITabBarController各页面之间的切换

//这里的button是自定义的UITabBarController的tabbar -(void)selectTabbar:(int)tag {     for (int i = 0; i 4;...
  • XLawsZero
  • XLawsZero
  • 2016年10月09日 15:19
  • 887

两种常见的UITabBarController+UINavigationController模式

两种常见的UITabBarController+UINavigationController模式
  • feng2qing
  • feng2qing
  • 2017年03月20日 21:33
  • 1327

UINavigationController UITabBarController设置title

UINavigationController和UITabBarController都是输入导航用的controller,对他们要显示的文字设置一般都是在他们所包含的子viewcontroller中设置...
  • horace7777
  • horace7777
  • 2014年03月10日 15:03
  • 1027

ios8中UITabbarController的图片颜色处理

我们知道。在IOS8中,对于UITabbarController的方法,有些已经不能用了,下面把最新的方法介绍如下: 1. 用下面的代码,可以对tabbaritem进行图片设定,即没有点击和点击之后的...
  • yangfanacc
  • yangfanacc
  • 2014年12月15日 16:10
  • 957

iOS -App主流框架UINavigationController && UITabBarController的简单使用

一个iOS app几乎没有由一个控制器组成,除非这个app非常简单。       当app中有多个控制器的时候,就需要对这些控制器进行管理,用1个控制器去管理其他多个控制器;       如图所示...
  • yang198907
  • yang198907
  • 2015年11月12日 23:53
  • 1369

UITabBarController详解(二)UITabBarController的代理方法以及模态显示

@首先要实现协议     // 设置代理     tabBarController.delegate = self;       //UINavigationController *nav = t...
  • humingtao2013
  • humingtao2013
  • 2014年03月15日 13:48
  • 4227

自定义UITabBarController的tabBar背景图片

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; fo...
  • xbiii3s
  • xbiii3s
  • 2011年07月22日 13:24
  • 7482
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITabBarController
举报原因:
原因补充:

(最多只允许输入30个字)