一、UINavigationController
UINavigationController:导航控制器,,是iOS中最常用的多视图
控制器之一,用它来管理多个视图控制器。
导航控制器可以称为是,管理控制器的控制器,主要管理有层
次递进关系的控制器。
二、UINavigationBar
UINavigationBar(导航栏)上的设置主要分两部分,一为导航栏上的
各种导航部件(UINavigationItem),二为导航栏自身的相关设置。
navigationBar—导航条,iOS7之后默认是半透明的,iOS7之前默认
是不透明的。
navigationBar竖屏下默认高度44,横屏下默认高度32。
iOS7之后,navigationBar的背景会延伸到statusBar上。导航栏高
度仍保持44,但显示效果为64。
每个视图控制器都有一个navigationItem属性。navigationItem中
设置的左按钮、右按钮、标题等,会随着控制器的显示,也显示
到navigationBar上。
三、页面跳转
UINavigationController通过栈的方式管理控制器的切换,控制入
栈和出栈来展示各个视图控制器。
UINavigationController的ContentView里始终显示栈顶控制器的
view。
viewControllers属性是一个可变数组(NSMutableArray)存储了栈
中的所有被管理的控制器,入栈的时候,使用addObject把新的
视图控制器对象添加到数组末尾,出栈时removeLastObject移除
数组末尾的试图控制器对象。
navigationController属性,父类中的属性,每个在栈中的控制
器,都能通过此属性,获取自己所在的UINavigationController对
象。
四、模态
页面的切换方式主要分为:推出(push)和模态(present)。
推出(push)用于一系列的视图之间的跳转有层次递进关系。
模态(present)用于单独功能页面的跳转和主要业务逻辑没有关联(登录,歌
曲播放页,系统相册,应用中调用系统功能)。
网友评论