导航控制器(UINavigationController)
一。导航控制器基础
1.导航控制器的组成
i。中间视图
ii。导航栏
iii。工具栏
2.配置一个导航界面
a。配置一个导航界面最重要的部分就是配置被包含的视图控制器。
b。当它所属的视图控制器在导航控制器所控制的堆栈的顶部时(即该视图控制器将要显示时),系统自动显示该视图控制器的UINavigationItem。开发人员无需编写任何代码来调用UINavigationItem。
c。
3.配置导航视图控制器
a。可以使用UINavitionController的pushViewController:animated:方法将后面的视图控制器压入栈,从而显示它的视图。给定的视图控制器成为顶视图。对于弹出一个视图控制器,其实不需要做什么,界面上有一个后退按钮,用户点击它,顶视图将自动从栈中弹出。
b。可以使用下面的这些方法从栈中弹出视图控制器:
c。总之,UINavigationController提供了两个方法来管理堆栈。
例如:当调用下一个视图控制器(即从一个界面切换到另一个界面,如用户选择了某个联系人名字)时,应该使用下面的方法将下一个视图控制器(从用户的角度,即下一页)推到堆栈中:
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
当用户单击返回按钮来返回到上一个视图控制器时,popViewControllerAnimated就会被调用。所以开发人员无需自己调用popViewControllerAnimated方法。
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
d。导航控制器本身有个viewController属性,该属性是一个NSArray,包含了栈上的条目。
因此,根条目是数组的objectArray:0,顶条目也就是它的lastObject,也可以使用topViewController属性得到顶条目。
但是,导航控制器还有一个visibleViewController属性,因为topViewController也许包含另一个视图控制器并显示它的视图,所以visibleViewController和topViewController可能不同。
e。
4.视图控制器的事件
**************************************
二。创建导航控制器实例
1.在两个页之间导航实例
2.在两个页之间传递数据
经常需要在两个页之间传递数据,这个必须掌握。
一个常规的做法是:在下一个视图控制器上声明所属的属性。然后,当上一个视图控制器调用下一个视图控制器时,就可以设置这些属性值。从而,第二个视图控制器就获得了第一个视图控制器传递过来的数值。
例如:
当然,如果想从第二个视图控制器那里会传个第一个视图 ,需要委托。
3.定制返回按钮
在默认的情况下,下一页上的返回按钮的文字是上一页的标题,但是也可以在程序中修改为其他文字(但是要记住:返回按钮是放在上一页的视图控制器上)。
4.在导航控制栏上添加系统按钮和左右按钮
导航控制器(UINavigationController)的更多相关文章
- iOS开发UINavigation——导航控制器UINavigationController
iOS开发UINavigation系列一——导航栏UINavigtionBar摘要iOS中的导航条可以附着于导航控制器之中使用,也可以在controller中单独使用,这篇博客,主要讨论有关导航栏的使 ...
- 导航控制器(UINavigationController)
导航控制器管理一系列显示层次型信息的场景.它创建一个视图管理器"栈",栈底为根视图控制器,用户在场景间切换时,依次将试图控制器压入栈中,且当前场景的试图控制器位于栈顶.要返回上一级 ...
- 利用协议代理实现导航控制器UINavigationController视图之间的正向传值和反向传值
实验说明 (1)正向传值:比如A类里地值要传给B类用,就是我们先在A类中声明一个B类对象(当然B类头文件要import过来),然后把A类中得某个 值传递给B类中得某个值(所以需要在B类中先准备一个变量 ...
- IOS UINavigationController 导航控制器
/** 导航控制器掌握: 1.创建导航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootVie ...
- IOS第12天(2,UINavigationController导航控制器)
****HMAppDelegate.m @implementation HMAppDelegate - (BOOL)application:(UIApplication *)application d ...
- UINavigationController 导航控制器 ,根据文档写的一些东西
今天讲了导航控制器UINavigationController 和标签栏视图控制器UITabBarController 先来说一说导航视图控制器 UINavigationController 导航控 ...
- IOS 导航控制器基本使用(UINavigationController代码创建方式)
● UINavigationController的使用步骤 ➢ 初始化UINavigationController ➢ 设置UIWindow的rootViewController为UINavigati ...
- iOS开发UI篇—多控制器和导航控制器简单介绍
iOS开发UI篇—多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...
- IOS开发UI篇—导航控制器属性和基本使用
IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController ...
- IOS开发-表视图LV3导航控制器
学到这里感觉有点难了,其实这篇文章再草稿箱里放了好久了~ 最近对于学习的热情下降了.这不行-抓紧学习走起! 在这一章节的学习中主要针对导航控制器及表视图来建立多视图的应用, 首先要了解一些概念-- 1 ...
随机推荐
- 关于Servlet中的HttpServletRequest和HttpServletResponse
1.HttpServletRequest 方 法 说 明 getAttributeNames() 返回当前请求的所有属性的名字集合 getAttribute(String name) 返回 ...
- Ext 项目随笔
region: This region's layout position (north, south, east, west or center). Read-only. collapsible:t ...
- [SQL]SQL类似统计功能的sql文
declare @t table(name varchar(),type int) insert into @t union all union all union all union all if ...
- .net中三种数据类型转换区别((int),Int32.Parse() 和 Convert.toInt32() )
(typename)valuename,是通用方法: Convert类提供了灵活的类型转换封装: Parse方法,适用于向数字类型的转换. 例如,(int),Int32.Parse() 和 Conve ...
- (easy)LeetCode 257.Binary Tree Paths
Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...
- java 数据结构
二叉树: 存储结构:顺序存储结构和链式存储结构 二叉树的先根遍历的递归与非递归算法 二叉树的中根遍历的递归与非递归算法 二叉树的后根遍历的递归与非递归算法 二叉树的层次遍历的递归与非递归算法 e.g. ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(8)-扩展UserDetailsService接口
一个能为DaoAuthenticationProvider提供存取认证库的的类,它必须要实现UserDetailsService接口: public UserDetails loadUserByUse ...
- Android——requestWindowFeature
requestWindowFeature可以设置的值有:1.DEFAULT_FEATURES:系统默认状态,一般不需要指定2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认 ...
- XBox360-双光盘游戏自制GOD
一直在找极限竞速4(Forza4),虽然这个版本比较老,但因为带体感.终于下到了,可惜是2个ISO.试着自己做GOD.用到两个软件:Iso2God和Xbox Backup Creator(俗称XBC) ...
- Android打造带透明圆弧的ImageView
这几天因为项目需求,需要在ImageView上面叠加一层透明圆弧,并且在沿着圆弧的方向显示相应的文字,效果如下图所示: 拿到这个需求,首先想到的是自定义一个ImageView来实现此功能,即在onDr ...