• viewControllers

    UIViewController的数组,即要显示的VC,数组中VC的顺序即是实际展示的VC的顺序。UITabBarController最多展示5个tab,如果数组中的元素的个数超过了5个,会正常展示前四个tab,然后有一个更多的tab,可以选择其他的tab。

  • customizableViewControllers

    点击更多时,会有编辑按钮,然后用户可以对这些tab排序。此时,可以进行排序的tabvc是在这个数组内,不在这个数组内的,不会参与排序。

此时viewControllers数组有6个元素,customizableViewControllers有5个对象。因此,可以排列的VC个数只有5个。

如果不设置customizableViewControllers属性,那么默认所有的VC都可以进行排序。

- selectedIndex与selectedViewController
设置哪一个tab被选中,可读可写

UITabBar

UItabBarController有一个叫做tabBar的属性,却是只读的。tabBar由很多tabBarItem来配置,每一个tabBarItem都是由对应的VC来配置的。每一个VC都有一个tabBarItem的属性。通过设置每一个VC的tabBarItem属性,然后把这些VC加到UITabBarController的viewControllers中,即可定制底部tabbar的属性。

        self.catVC?.tabBarItem = UITabBarItem.init(title: "cat",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 0);
self.pigVC?.tabBarItem = UITabBarItem.init(title: "pig",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 1);
self.duckVC?.tabBarItem = UITabBarItem.init(title: "duck",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 2)
self.sheepVC?.tabBarItem = UITabBarItem.init(title: "sheep",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 3)
self.carVC?.tabBarItem = UITabBarItem.init(title: "car",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 4)
self.extralVC?.tabBarItem = UITabBarItem.init(title: "extra",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 5)
self.viewControllers = [self.catVC!,self.pigVC!,self.duckVC!,self.sheepVC!,self.carVC!,self.extralVC!];
  • backgroundImage
    背景图,如果不是可拉伸的,那么背景图会向瓦片一样平铺。原文是
    > the tab bar tiles the image
  • shadowImage

    TabBar上面的图像。如果要设置这个属性,必须先设置backgroundImage属性,否则会安装设置一个默认的image

    • 如何取消TabBar上面的一条虚线
    self.tabBar.setValue(1, forKey: "_hidesShadow")

  • selectionIndicatorImage
    选中态的图像

UITabBarController的属性的更多相关文章

  1. 混合使用UITabBarController和UINavigationController

    混合使用这两个控件的好处是我们可以在NavigationBar添加更多的东西,如标题,按钮等.让用户能够获得更多的信息. UITabBarController的属性ViewControllers接受以 ...

  2. UI第十六节——UITabBarController详解

    一.UITabBarController主要用来管理你提供的content view controllers,而每一个 content view controller则负责管理自己的view层级关系, ...

  3. UI学习笔记---第十二天UITabBarController

    页签视图控制器-UITabBarController   自定义UITabBar     block高级 一.UITabBarController 结构为三层:Tab bar controller v ...

  4. iOS开发-UITabBarController详解

    我们在开发中经常会使用到UITabBarController来布局App应用,使用UITabBarController可以使应用看起来更加的清晰,iOS系统的闹钟程序,ipod程序都是非常好的说明和A ...

  5. iOS UIKit:TabBar Controller

    1 结构剖析 IOS中的标签导航其实是一个UITabBarController对象,其也是一个Container View Controller.UITabBarController对象创建和管理了一 ...

  6. 转场动画UINavigationControllerDelegate

    从iOS7开始,苹果更新了自定义ViewController转场的API,这些新增的类和接口让很多人困惑,望而却步.本文就从这些API入口,让读者理清这些API错综复杂的关系. 几个protocol ...

  7. swift4.0 方法监听Selector写法总结

    import UIKit class MainViewController: UITabBarController { //MARK:属性 懒加载 lazy var composeBtn = UIBu ...

  8. jqu

    1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...

  9. [BS-03] 统一设置UITabBarController管理的所有VC的tabBarItem图标文字的颜色大小等属性

    1. 统一设置UITabBarController管理的所有VC的tabBarItem图标文字的颜色大小等属性 . 统一设置UITabBarController管理的所有VC的tabBarItem图标 ...

随机推荐

  1. 【POJ1284】Primitive Roots

    [题目大意] 给你一个素数n,求n的原根个数. [题解] 关于原根有一个定理: 定理:如果模有原根,那么它一共有个原根. 所以这题就是求phi[phi[n]] 很简单吧...(如果知道这个定理的话) ...

  2. Java故障分析基础

    JVM基础 垃圾回收器 GC日志 jps, jinfo命令 jmap, jhat命令 jstat命令 线程dump jvisualVM / jconsole MAT(Memory Analyzer t ...

  3. 钉钉开发笔记(5)android系统中html软键盘的适配

    最近项目中发现个别Android手机中存在弹出的软键盘会遮挡输入框的现象,最后自己写了一个方法(如下),问题基本解决. 记录下来,防止忘记.有什么不对的地方欢迎指正.O(∩_∩)O 1 //键盘适配 ...

  4. CloudStack 脚本封装分析

    cloud.keystore是这样生成的 String dname = "cn=\"" + cn + "\",ou=\"" + o ...

  5. 53-C++ CH08 01

     http://lx.lanqiao.cn/problem.page?gpid=T407 算法训练 C++ CH08 01   时间限制:1.0s   内存限制:256.0MB      问题描述 已 ...

  6. 阿里云WindowsServer2012安装IIS失败

    本文地址:http://www.cnblogs.com/drfxiaoliuzi/p/6388417.html 首先,向微软官方论坛的大神致敬: https://social.technet.micr ...

  7. 使用python管理Cisco设备-乾颐堂

    今天发现一个老外使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令. 下载后主要有3个文件: Systems.py 定义了一些不同设备的操作系统及其常见命令. Conne ...

  8. [Training Video - 3] [Groovy in Detail] What is a groovy class ?

    log.info "starting" // we use class to create objects of a class Planet p1 = new Planet() ...

  9. spring加载ApplicationContext.xml的四种方式

    spring 中加载xml配置文件的方式,好像有4种, xml是最常见的spring 应用系统配置源.Spring中的几种容器都支持使用xml装配bean,包括: XmlBeanFactory , C ...

  10. java Concurrent包学习笔记(四):BlockingQueue

    一.BlockingQueue概述 1.阻塞的含义 BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞.被阻塞的情况主要有如下两种: ,当一个线程对 ...