接上篇导航控制器UINavigationController

接下来是UITabBarController 标签栏控制器

先来看一下UITabBarController的结构

从图上可以看出控制器分为两部分,一部分是用户自定义内容Customcontent

另一部分为标签栏Tab bar.

另外看途中标签栏内有四个标签,每一个标签都控制着一个视图控制器

一、UITabBarController遵守的协议

UITabBarControllerDelegate

@property(nonatomic,assign)

id<UITabBarControllerDelegate>delegate

创建初始化类后会自动生成一个委托对象,用于调动自身

二、      实例方法

- (void)setViewControllers:(NSArray*)viewControllersanimated:(BOOL)animated

设置标签栏中的内容,可以看到参数是一个由视图控制器组成的数组,设置成功后数组中的第一个元素会在标签栏中最左端的位置上,第二个元素就紧挨这第一个元素右边,以此类推。

有一点是当你的标签栏中原本已经存在一些元素,在使用这个方法时,标签栏中的元素全部都要移除,然后加载新元素。

三、标签栏的一些特点

1、标签栏默认的只能最多有五个标签,当你设置的元素超过五个,这时前四个标签还是按顺序排列,但是第五个标签会变成“…”这样一个按钮,这个按钮包含这你剩下的元素

2、另外看下面一段话

You can use navigation controllers or custom view controllersas the root view controller for a tab. If the root view controller is a navigationcontroller, the tab bar controller makes further adjustments to the size of thedisplayed navigation content so that it does not overlap the tab bar.

意思就是你也可以用导航控制器作为标签栏的一个标签,便签栏会为导航控制器创造足够的空间来展示控制视图。

写给自己,如有错误请指正,共同学习。—— LC

UITabBarController 标签栏控制器的更多相关文章

  1. iOS:切换视图的第三种方式:UITabBarController标签栏控制器

    UITabBarController:标签栏控制器 •通过设置viewControllers属性或者addChildViewController方法可以添加子控制器 –NSArray *viewCon ...

  2. 标签栏控制器(UITabBarController)

    一.标签栏控制器基础 1.绪论 a.一个标签栏是一个独立的界面对象,它经常与一个视图控制器(UITabBarController是UIViewController的子类)一起使用. b.一个标签栏项目 ...

  3. 导航栏控制器和标签栏控制器(UINavigationController和UITabBarController)混用

    很多时候,在UI设计方面同时需要使用导航控制器和标签栏控制器,这时,需要掌握如何设计结合使用这两种不同控制器.比如手机QQ,程序有三个标签 栏(分别为消息.联系人.动态),同时在选择某个联系人或者会话 ...

  4. iOS:给标签栏控制器的UITabbarItem添加点击动效

    一.介绍 现在很多app,附带很炫的点击效果,让用户享受到非常棒的体验,例如动画.渐变.音效等. 当然,市面上大多数app的标签栏点击还是挺中规中矩的,只是切换图片而已.然而,这个是可以优化的,附带点 ...

  5. 项目架构(结构)搭建:主流结构(UITabBarController + 导航控制器)

    /* 项目架构(结构)搭建:主流结构(UITabBarController + 导航控制器) -> 项目开发方式 1.storyboard 2.纯代码 */ @interface AppDele ...

  6. iOS结合导航控制器和标签栏控制器

    <span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name=& ...

  7. 【iOS发展-28】制造业UITabBarController标记控制器、定制UITabBarItem文字图像6途径和More评论

    一个.一个简单的制作过程(实际工程中不建议这样的方式,不要只展示所用原理的理解) 在AppDelegate.m在: - (BOOL)application:(UIApplication *)appli ...

  8. Swift之UITabBarController 导航控制器颜色的改变

    废话不多 直接上代码 self.window = UIWindow(frame: UIScreen.mainScreen().bounds) self.window!.backgroundColor ...

  9. iOS 7 标签栏控制器进行模态视图跳转后变成透明

    要解决此问题,需要设置tabBar的如下属性: self.tabBar.translucent = NO;

随机推荐

  1. 使用Javascript限制文本框只允许输入数字

    很多时候需要用到限制文本框的数字输入,试过许多方法,都不太理想,遂决定自己实现一个来玩玩.曾经使用过的方法通过onkeydown事件来控制只允许数字: <input onkeydown=&quo ...

  2. 解决CSS中float:left后需要clear:both清空的繁琐步骤(转)

      之前,因为公司专门有CSS+DIV的切片设计师,所以我一直都是注重程序的设计与开发.现在,因为接了一些Web网站的项目需要制作,就在空闲时间学习起了CSS.Jquery. 现在,大部分的横排导航都 ...

  3. java.lang.UnsupportedClassVersionError: Bad version number in .class file

    java.lang.UnsupportedClassVersionError: Bad version number in .class file造成这种过错是ni的支撑Tomcat运行的JDK版本与 ...

  4. 【转载】ASP.NET线程安全与静态变量的生命周期浅谈

    ASP.NET线程安全所涉及的是什么呢?让我们先来看看静态变量的生命周期问题,下面是我理解的静态变量的生命周期: void Application_Start开始 void Application_E ...

  5. [转] 关于UIView

    [转载] 原文地址 :http://blog.csdn.net/itianyi/article/details/8982518 UIView是开发中使用得最多的控件了,深入的理解很有必要. UIVie ...

  6. iOS中使用正则表达式去掉HTML中的标签元素获得纯文本的方法

    content是根据网址获得的网页源码字符串 - (NSString *)changeToString:(NSString *)content { NSRegularExpression *regul ...

  7. .net中XML的创建02(linqToXml)

    linqToXml比较的灵活和方便,它是基于函数式编程具体的使用如下:引用程序集using System.Xml.Linq; 1.创建XDocument并设置文档头  XDocument XDoc = ...

  8. centos yum

    1.介绍 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器 ...

  9. Java多线程和线程池

    转自:http://blog.csdn.net/u013142781/article/details/51387749 1.为什么要使用线程池 在Java中,如果每个请求到达就创建一个新线程,开销是相 ...

  10. CSS样式margin:0 auto不居中

    <style type="text/css">html,body{height:100%;width:960px;}.container{background-colo ...