UITabBarController的简单使用

● UITabBarController的使用步骤
➢ 初始化UITabBarController
➢ 设置UIWindow的rootViewController为UITabBarController
➢ 根据具体情况,通过addChildViewController方法添加对应个数的子控制器

UITabBarController的子控制器

● UITabBarController添加控制器的方式有2种

➢ 添加单个子控制器

- (void)addChildViewController:(UIViewController
*)childController;

➢ 设置子控制器数组
@property(nonatomic,copy) NSArray *viewControllers;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 1.创建window
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor]; // 设置window的根控制器
// 1.创建tabbarcontroller
UITabBarController *tbVc = [[UITabBarController alloc] init];
// 2.设置UITabBarController为winow的根控制器
self.window.rootViewController = tbVc; // 3.创建并添加子控制器
UIViewController *vc1 = [[UIViewController alloc] init];
vc1.tabBarItem.title = @"消息";
vc1.tabBarItem.image = [UIImage imageNamed:@"tab_recent_nor"];
vc1.tabBarItem.badgeValue = @"";
// vc1.tabBarItem.selectedImage
vc1.view.backgroundColor = [UIColor redColor]; UIViewController *vc2 = [[UIViewController alloc] init];
vc2.tabBarItem.title = @"联系人";
vc2.tabBarItem.image = [UIImage imageNamed:@"tab_buddy_nor"];
vc2.view.backgroundColor = [UIColor greenColor]; UIViewController *vc3 = [[UIViewController alloc] init];
vc3.view.backgroundColor = [UIColor purpleColor]; [tbVc addChildViewController:vc1];
[tbVc addChildViewController:vc2];
[tbVc addChildViewController:vc3]; // tbVc.viewControllers = @[vc1, vc2, vc3]; // 让window显示出来
[self.window makeKeyAndVisible]; return YES;
}

UITabBarButton

● UITabBarButton里面显示什么内容,由对应子控制器的tabBarItem属性决定

● UITabBarItem有以下属性影响着UITabBarButton的内容

➢ 标题文字
@property(nonatomic,copy) NSString *title;

➢ 图标
@property(nonatomic,retain) UIImage *image;

➢ 选中时的图标
@property(nonatomic,retain) UIImage *selectedImage;

➢ 提醒数字

@property(nonatomic,copy) NSString *badgeValue;

IOS UITabBarController(控制器)的子控制器的更多相关文章

  1. angularjs 嵌套控制器,子控制器访问父控制器

    <pre> http://www.lovelucy.info/understanding-scopes-in-angularjs.html http://blog.csdn.net/jfk ...

  2. iOS面试题05-父子控制器、内存管理

    内存管理.父子控制器面试题 1.建立父子关系控制器有什么用 回答:1>监听屏幕选中 2>如果想拿到你当前的很小的一个控制器所在的导航控制器必须要跟外面比较大的控制器建立父子关系,才能一层一 ...

  3. iOS开发UI篇—多控制器和导航控制器简单介绍

    iOS开发UI篇—多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...

  4. IOS开发UI篇—导航控制器属性和基本使用

    IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController ...

  5. [BS-20] 导航控制器和视图控制器在添加控制器的区别

    导航控制器和视图控制器在添加控制器的区别 1. 因导航控制器拥有导航栈,有一个普通视图控制器都没有的数组viewControllers,加入该数组中的视图控制器默认以push的方式进入导航栈.导航控制 ...

  6. AJ学IOS 之微博项目实战(1)微博主框架-子控制器的添加

    AJ分享,必须精品 一:简单介绍 这是新浪微博的iOS端项目,来自于黑马的一个实战项目. 主要分成五大模块,本次全部运用纯代码实现,其中会用到很多前面学过得内容,如果有的地方有重复的知识点,说明这个知 ...

  7. iOS不得姐项目--精华模块上拉下拉的注意事项,日期显示,重构子控制器,计算cell的高度(只计算一次),图片帖子的显示

    一.上拉下拉注意事项 使用MJRefresh中的上拉控件自动设置透明 当请求下页数据通过page的时候,注意的是上拉加载更多数据失败的问题,下拉加载数据失败了,页数应该还原.或者是请求成功的时候再将页 ...

  8. ios -将navigationbar的translucent属性设为No后,子控制器视图整体下移问题

    如果不将navigationbar.translucent = YES 会觉得颜色很浅,因为这是半透明状态 若navigationbar.translucent = NO,颜色问题解决,但是子控制器视 ...

  9. IOS 拦截所有push进来的子控制器

    /** * 能拦截所有push进来的子控制器 */ - (void)pushViewController:(UIViewController *)viewController animated:(BO ...

随机推荐

  1. Syslog+Fluentd+InfluxDB日志收集系统搭建

    环境配置 节点 配置 类型 操作系统 Sched 2G 2CPU 50GB ens3=>192.168.200.11 KVM虚拟机 CentOS 7 Nova 4G 2CPU 50GB ens3 ...

  2. 洛谷P1065 作业调度方案

    P1065 作业调度方案 题目描述 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作 ...

  3. MCP|LQ|DIAlignR provides precise retention time alignment across distant runs in DIA and targeted proteomics

    文献名: DIAlignR provides precise retention time alignment across distant runs in DIA and targeted prot ...

  4. SAP 权限层次

    此文可是没有维护过权限的人对权限有一个整体的认知,转来加以记忆. 一是系统权限 主要是对模块为单位的权限划分,具体就是用户对该模块可见不可见,能不能对该模块进行再授权的操作.表现在用户界面就是用户登录 ...

  5. Java基础笔记(十五)——封装(续)static关键字

    static 静态的,用static修饰的成员叫静态成员或类成员.类实例化的所有对象都会共用同一块静态空间.一个对象将值改变,其它对象的值也就随之改变了. 如:public static int pr ...

  6. POJ1013 Counterfeit Dollar

    题目来源:http://poj.org/problem?id=1013 题目大意:有12枚硬币,其中有一枚假币.所有钱币的外表都一样,所有真币的重量都一样,假币的重量与真币不同,但我们不知道假币的重量 ...

  7. oracle的存储过程优缺点

    oracle的存储过程优缺点 1.存储过程可以使得程序执行效率更高.安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性 ...

  8. HDU 5773 The All-purpose Zero 脑洞LIS

    给定一个序列,里面的0是可以任变的.问变化后最长的LIS的长度 首先,0全部选上是不亏的.这个不知道怎么说,YY一下吧. 最关键的就是解决2 0 0 3 这种问题了. 注意到这个序列的LIS应该是3 ...

  9. Vertical roller mill from SBM

    Vertical roller mill has many different forms, but it works basically the same. All of these forms o ...

  10. Ubuntu16.04 下如何安装和卸载Google Chrome【亲测有效】

    一.安装 1.将下载源添加到系统源中. sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.li ...