UINavigationController 导航控制器 ,根据文档写的一些东西
今天讲了导航控制器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 导航控制器 ,根据文档写的一些东西的更多相关文章
- UINavigationController导航控制器
UINavigationController导航控制器,是多个界面间跳转的重要元素,可以理解为它存储着多个viewController,它的存储结构是栈,栈的特点是先进后出,所以添加视图控制器时,要特 ...
- iOS开发 — (UINaVigationController)导航控制器,界面传值
UINavigationController 继承于 UIViewController , 以栈的方式管理所 控制的视图控制器 . 至少要有一个被管理的视图控制器 ,这个控制器我们称作导航控制器的根视 ...
- UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解
(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...
- IOS UINavigationController 导航控制器
/** 导航控制器掌握: 1.创建导航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootVie ...
- IOS第12天(2,UINavigationController导航控制器)
****HMAppDelegate.m @implementation HMAppDelegate - (BOOL)application:(UIApplication *)application d ...
- 轻量级应用开发之(10) UINavigationController导航控制器
一 多控制器 1)一个iOS的app很少只由一个控制器组成,除非这个app极其简单2)当app中有多个控制器的时候,我们就需要对这些控制器进行管理3)有多个view时,可以用一个大的view去管理1个 ...
- 【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解
(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最以下,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...
- Xilinx的DocNav文件导航中的文档开头字母缩写都是什么意思?
在安装Xilinx的开发软件后都会附带安装一个用于查阅Xilinx技术文档的文件导航工具DocNav. 在DocNav中可以找到几乎所有对我们开发Xilinx FPGA有用的技术文档,其中的文档数量更 ...
- 基于POI和DOM4将Excel(2007)文档写进Xml文件
刚进公司的training, 下面是要求: Requirements Write a java program to read system.xlsx Use POI API to parse all ...
随机推荐
- ExecuteScalar 要求已打开且可用的 Connection。连接的当前状态为已关闭。
本人遇到的一个小问题,希望能帮助大家 出现这个问题就是在此操作之前已经被的程序关闭了连接,比如在执行这块代码之前不幸执行了存储过程..,就会导致这个问题发生
- ASP.NET实现从服务器下载文件2
转:http://lanhy2000.blog.163.com/blog/static/436786082011105104110713/ 假设在服务器的根目录下有个名为Download的文件夹 ...
- Swift - 14 - 字符串的基础操作
//: Playground - noun: a place where people can play import UIKit // 拼接 var str = "Hello, playg ...
- SOA与EBS集成_Package 调用维护
介绍SOA Suite与EBS集成成,使用PACKAGE调用集成的组合程序的运维方法: 1.打开组合程序,在oracle adapter上右键,选择edit,在配置向导中跳转到第五步,确认组合程序调用 ...
- locate 不能使用
当需要查找一个文件,只知道文件名不知道路径,我们通常用locate,由于公司的服务器使用最小化安装的所以当locate 文件名,报错,提 示-bash: locate: command not fou ...
- 网易DBA私享会分享会笔记1
1.mysql生态+DBA职业发展世界范围流行的开源关系型的数据库关系型数据库:mysql,oracle,sql server,access,postgresql,sqlite,sybase,info ...
- bzoj4160: [Neerc2009]Exclusive Access 2
Description 给出 N 个点M 条边的无向图,定向得到有向无环图,使得最长路最短. N ≤ 15, M ≤ 100 Input 第一行一个数M (1≤M≤100). 接下来M行,每行两个大写 ...
- TIOBE.2017.01最新编程语言排行榜
Jan 2017 Jan 2016 Change Programming Language Ratings Change1 1 Java ...
- 利用花生壳在自己电脑上建立外网可访问的svn
下载花生壳并注册账号 2.花生壳会送你一个免费的二级域名 3.登陆到路由器界面192.168.0.1或者192.168.0.0进入动态dns选项输入你的花生壳账号密码 4.在路由器设置界面设置转发规则 ...
- PS5穿越云层3D文字
妈的,搜狗浏览器有时候会出问题,保存的内容找不到了…… 视图--显示参考线或者“显示额外内容”会取消或者加上参考线,后者功能更强一些,ctrl+D有时可以代替后者的功能,后者可以去掉蒙版的参考线,前者 ...