首先得搞清这两个控制器之间的层级关系,我们直接看官网给的图,如下所示:

从这张图可以看到:最右边的Assembled views是呈现给用户的界面,它左边的Window是最底层的窗口,重点来了,再往左,是Tab bar view,Tab bar view的上方是Navigation view,最后是用户定制的视图。

看完这个,代码就应该很好写了,我们需要把Navigation view加到 Tab bar view的内容上去,Tab bar view再加到Window上去。就是Window套UITabBarController,UITabBarController套UINavigationController, UINavigationController套UIViewController。

UIViewControlleller  的tabBarItem的详情里面最后一句话:

The default value is a tab bar item that displays the view controller'€™s title.

标签栏元素默认显示的是 视图控制器的标题。

navigationItem 里面同样有这么一句话

The default behavior is to create a navigation item that displays the view controller'€™s title.

默认创建一个导航栏元素显示 视图控制器的标题

1.因此 activetyLC.title = @"活动"; 同时给导航栏和标签栏赋值  就有迹可循了。

2. 若 我们的导航栏标题 和标签栏 标题显示的不一样的时候如何赋值呢。

UIViewController是UINavigationController和 UITabBarController的父类

我们看下UIViewController里面的navigationItem 和 tabBarItem 是如何说明的

The tab bar item that represents the view controller when added to a tab bar controller.

标签栏元素 代表 控制器被  添加到的标签栏控制器 的标签栏元素 (父标签栏 标签元素)

The navigation item used to represent the view controller in a parent'€™s navigation bar. (read-only)

导航栏元素代表着 父视图控制器的导航栏 元素 (父 导航栏 导航元素)

按照上面我所说的层次关系,在 最上层的 UIViewController

这样写:

self.navigationItem.title = @"活动";

self.tabBarItem.title = @"活动123";  会如何??

结果是: 导航栏 标题 显示  “活动” ,标签栏为 “空”。

若我们给导航栏的 tabBarItem 赋值。

activetyNC.tabBarItem.title = @"活动";

则 标签栏 正常显示 “活动”。

结合上面的 UIViewController里面对 导航元素和 标签元素的 介绍。 这样就明白了。

虽然

UINavigationController和 UITabBarController 都继承自 UIViewController,他们中都有 标签元素和导航元素属性,但是

对于:UIViewController navigationItem 和 tabBarItem 没有赋值,则为空,若父视图为导航栏控制器,navigationItem为 导航栏控制器的 navigationItem; 若父类为 标签控制器,则 tabBarItem为 标签控制器的 tabBarItem。

转载于:https://www.cnblogs.com/mafeng/p/5698691.html

UITabBarController 和 UINavigationController 的详解相关推荐

  1. UINavigationController使用详解

    有一阵子没有写随笔,感觉有点儿手生.一个多月以后终于又一次坐下来静下心写随笔,记录自己的学习笔记,也希望能够帮到大家. 废话少说回到正题,UINavigationController是IOS编程中比较 ...

  2. iOS导航控制器——UINavigationController使用详解

    一.概述 UINavigationController用来管理视图控制器,在多视图控制器中常用.它以栈的形式管理视图控制器,管理视图控制器个数理论上不受限制(实际受内存限制),push和pop方法来弹 ...

  3. IOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

    转:http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINaviga ...

  4. UITabBarController详解

    UITabBarController使用详解 UITabBarController是IOS中很常用的一个viewController,例如系统的闹钟程序,ipod程序等.UITabBarControl ...

  5. UINavigationController导航控制器详解

    1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看它的如何使用: 下面的图显示了导航控 ...

  6. UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)  和 IOS6屏幕旋转详解

    1. UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例) 博客分类: IOS / Objective-C UIDeviceOrienta ...

  7. halcon例程讲解_跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量 This example program demonstrates the basic usage of a measure object. ...

  8. MWPhotoBrowser 属性详解 和代理解释

    --------0.MWPhoto简单属性解释---------------- MWPhoto *photo = [MWPhoto photoWithURL:[NSURL URLWithString: ...

  9. 详解Xcode 6的视图调试

    详解Xcode 6的视图调试 2015-04-23 10:58 编辑: suiling 分类:iOS开发 来源:CocoaChina翻译 0 14885 XCodeXcode 6视图调试 招聘信息: ...

最新文章

  1. 2.Unity3d常用按键
  2. this.Index = this._count - 1
  3. 复用的具体实现方式组合与继承的特点
  4. 在网页中插入时间 自动更新
  5. 【转】vs平台工具集介绍,vc6~vs2019各IDE对应的工具集版本
  6. python rpy2后封装_转换rpy2的python对象
  7. unity性能优化初级入门篇
  8. 使用Rufus制作系统启动盘
  9. 51单片机(十)—— 8位数码管-数码管扫描
  10. 河北工业大学开发能力训练之测风数据处理(一)
  11. 淘宝评论API接口,item_review-获得淘宝商品评论API接口接入说明
  12. 关于把Excel转换成word的经验
  13. python京东抢购软件神器_用Python在京东抢购商品
  14. python实现爬虫探探_全栈 - 9 实战 爬取豆瓣电影数据
  15. 解读全球十大公司物联网战略,一个万物智能的世界即将到来
  16. APQP(advanced product quality planning先期产品质量策划)
  17. 攻防世界 Pwn 进阶 第二页
  18. 用神经网络表示与逻辑,神经网络实现逻辑运算
  19. 来自老程序员的10条中肯建议
  20. Antlr4在win10下的环境配置

热门文章

  1. HDU 4912 Paths on the tree(LCA+贪心)
  2. csdn中使用Git的一些注意问题
  3. vtk类之vtkFixedPointVolumeRayCastMapper :一个固定像素点的体数据映射器
  4. 服务器系统的王者——Linux 系统
  5. lixuxmint系统定制与配置(4)-应用安装
  6. PHP|异常的使用,异常子类化的最佳实践
  7. java学习教程之代码块
  8. 使用MONGODB 集群的OPLOG 日志进行数据恢复
  9. 在redhat6.3 安装oracle 11.2.0.1遇到的错误
  10. listview刷新,延迟加载,用单行刷新取代notifyDataSetChanged