IOS导航控制器

UINavigationController通常用于根据先后次序呈现具有包含或父子关系的多个视图。UITabBarController主要用于组织和管理具有并列关系的多个视图。

当我们的应用程序需要呈现具有前后关系的多屏信息的时候,就可以考虑用UINavigationController来维护和管理这样的“堆式”信息。这里的“堆”指的是一个视图控制器数组,而在导航控制器中显示的每一屏信息都是数组中的视图控制器的视图。当一个视图控制器位于该“堆”的最顶端的时候,该视图控制器的视图就会呈现在屏幕上面。

同时,我们也可以将Navigation Controller理解成一个栈,这个栈中可以存放很多View Controller。在这个栈创建的时候,我们先给它添加一个View Controller,称为Root View Controller,它放在栈底,代表的是刚加载程序的时候显示的视图。当用户新选择了一个想要显示的视图时,那个新的View Controller入栈,它所控制的视图就会显示出来。这个新的View Controller通常称作Sub Controller。

我们也可以动态的向“堆”中增加视图控制器,而且最新添加进来的控制器总会处于“堆”的最上层位置。我们可以通过topViewController属性,获取位于“堆”最上层的视图控制器的指针。

我们也可以通过viewControllers属性,获取“堆”中的全部视图。其中第一个元素是根视图,依次类推。

导航栏

位于导航视图最顶端的是导航栏,它是UINavigationBar类型的对象。可以显式“堆”中最顶端的视图的title属性。每一个视图控制器都有一个UINavigationItem类型的成员变量navigationItem,它有3个属性,分别是leftBarButtonItem、rightBarButtonItem和titleView。其中titleView可以是字符串或是图片,但是不能同时使用。UIBarButtonItem是其中的按钮的类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值