今天讲了导航控制器UINavigationController

和标签栏视图控制器UITabBarController

先来说一说导航视图控制器  UINavigationController

导航控制器维护着一个视图控制器栈,任何类型的视图控制器都可以放入栈中

UINavigationController分为三部分

从图中可以看出分别为导航按钮,用户自定义内容和最下边的工具按钮。

其实只有中间的部分显示的就是这个导航视图控制器栈中的栈顶的视图

下面是我根据文档写的一些UINavigationController的一些东西

一、遵守的协议UINavigationControllerDelegate

@property(nonatomic,assign)id<UINavigationControllerDelegate>delegate

创建之后都有个委托对象,可以通过委托对象调用自己

二、实例方法

1、initWithNavigationBarClass:toolbarClass:

使用自定义的工具栏来创建并初始化一个导航控制器

2、-(id)initWithRootViewController:(UIViewController  *)rootViewController

初始化导航视图控制器,并用rootViewController作为根视图控制器

3、- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

压栈,将一个视图控制器压入到栈顶

4、- (UIViewController*)popViewControllerAnimated:(BOOL)animated

从导航控制器栈中取出栈顶元素

5、- (NSArray*)popToViewController:(UIViewController*)viewControlleranimated:(BOOL)animated

取出从栈顶视图控制器到特定视图控制器viewController 之间的元素

6、- (NSArray*)popToRootViewControllerAnimated:(BOOL)animated

取出除了根视图控制器之外的所有元素

7、-(void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated

设置NavigationBar 按钮隐藏或显示

8、- (void)setToolbarHidden:(BOOL)hidden animated:

(BOOL)animated

与上一个相似,设置Toolbar隐藏或显示

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

用viewControllers取代当前被导航控制器控制的视图

以上就是UINavigationController的所有方法

三、所拥有的属性

topViewController  property

导航控制器栈的栈顶元素

visibleViewController  property

与当前可见视图相关联的导航控制器栈中的视图控制器

viewControllers  property

当前导航控制器所控制的所有视图控制器,它是一个数组

navigationBar  property

导航控制器中的导航栏(只读)

navigationBarHidden  property

它是一个BOOL值,用来决定navigationBar是否隐藏

delegate  property

导航控制器的委托对象

toolbar  property

与导航控制器相关联的用户自定义的工具栏

toolbarHidden  property

是一个标识,标识着工具栏是否处于隐藏状态

写给自己看,若有错误欢迎指正。 —— LC

UINavigationController 导航控制器 ,根据文档写的一些东西的更多相关文章

  1. UINavigationController导航控制器

    UINavigationController导航控制器,是多个界面间跳转的重要元素,可以理解为它存储着多个viewController,它的存储结构是栈,栈的特点是先进后出,所以添加视图控制器时,要特 ...

  2. iOS开发 — (UINaVigationController)导航控制器,界面传值

    UINavigationController 继承于 UIViewController , 以栈的方式管理所 控制的视图控制器 . 至少要有一个被管理的视图控制器 ,这个控制器我们称作导航控制器的根视 ...

  3. UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

    (1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...

  4. IOS UINavigationController 导航控制器

    /** 导航控制器掌握: 1.创建导航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootVie ...

  5. IOS第12天(2,UINavigationController导航控制器)

    ****HMAppDelegate.m @implementation HMAppDelegate - (BOOL)application:(UIApplication *)application d ...

  6. 轻量级应用开发之(10) UINavigationController导航控制器

    一 多控制器 1)一个iOS的app很少只由一个控制器组成,除非这个app极其简单2)当app中有多个控制器的时候,我们就需要对这些控制器进行管理3)有多个view时,可以用一个大的view去管理1个 ...

  7. 【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解

    (1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最以下,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...

  8. Xilinx的DocNav文件导航中的文档开头字母缩写都是什么意思?

    在安装Xilinx的开发软件后都会附带安装一个用于查阅Xilinx技术文档的文件导航工具DocNav. 在DocNav中可以找到几乎所有对我们开发Xilinx FPGA有用的技术文档,其中的文档数量更 ...

  9. 基于POI和DOM4将Excel(2007)文档写进Xml文件

    刚进公司的training, 下面是要求: Requirements Write a java program to read system.xlsx Use POI API to parse all ...

随机推荐

  1. Effective java-泛型思维导图

  2. (转)Mac OS X中配置Apache

    我使用的Mac OS X版本是10.8.2,Mac自带了Apache环境. 启动Apache 设置虚拟主机 启动Apache 打开“终端(terminal)”,输入 sudo apachectl -v ...

  3. `~!$^*()[]{}\|;:'",<>/?在英文怎么读?

    `~!$^*()[]{}\|;:'",<>/?在英文怎么读? 'exclam'='!' 'at'='@' 'numbersign'='#' 'dollar'='$' 'perce ...

  4. AFN发送请求失败

    发送请求出现这个错误 Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Coc ...

  5. [转]delphi 删除动态数组的指定元素

    type TArr = array of TPoint; {把数组先定义成一个类型会方便许多, 这里仅用 TPoint 测试} {删除动态数组指定元素的过程: 参数 arr 是数组名, 参数 Inde ...

  6. 使用mysql作为hive的元数据库

    1.hive下载安装   2.下载mysql安装   3.以root用户进入mysql命令行:mysql -uroot -p(提示输入密码)   4.创建hive的元数据库:create databa ...

  7. vim插件和配置

    vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...

  8. php 4.X与5.x版本构造函数区别与类的继承

    今天看ecshop源码的时候发现 构造函数是和类名一样,以前没接触过,一下子疑惑啦 HP4.x 版本: PHP 4.x 的构造函数名与类名相同.        注意:在子类里父类的构造函数不会自动执行 ...

  9. 10个重要的Linux ps命令实战

    Linux作为Unix的衍生操作系统,Linux内建有查看当前进程的工具ps.这个工具能在命令行中使用. PS 命令是什么 查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照.它能捕获系 ...

  10. C# ORM—Entity Framework 之Database first(数据库优先)&Model First(模型优先)(一)

    一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...