4-读书笔记----iOS开发指南:从零基础到App Store上架--iOS视图控制器与导航模式

时间:2021-06-05 10:38:54

视图控制器与导航模式


介绍平铺导航、标签导航、树形结构导航的使用方式


与导航相关的视图控制器整理如下。

UIViewController。用于自定义视图控制器的导航。例如,对于两个界面的跳转,我们可以用一个UIViewController来控制另外两个UIViewController

UINavigationController。导航控制器,它与UITableViewController结合使用,能够构建树形结 构导航模式。

UITabBarController。标签栏控制器,用于构建树标签导航模式。

UIPageViewController。呈现电子书导航风格的控制器。

UISplitViewController。可以把屏幕分割成几块的视图控制器,主要为iPad屏幕设计。

UIPopoverController。呈现“气泡”风格视图的控制器,主要为iPad屏幕设计。


平铺导航模式。内容没有层次关系,展示的内容都放置在一个主屏幕上,采用分屏或分页控制器进行导 航,可以左右或者上下滑动屏幕查看内容。

标签导航模式。内容被分成几个功能模块,每个功能模块之间没有什么关系。通过标签管理各个功能模块,点击标签可以切换功能模块。

树形结构导航模式。内容是有层次的,从上到下细分或者具有分类包含等关系,例如黑龙江省包含了哈尔 滨,哈尔滨又包含了道里区、道外区等。


模态视图

默认情况下,模态视图是从屏幕下方滑出来的。当完成的时候需要关闭这个模态视图,如果不关闭,就不能 做别的事情,这就是“模态”的含义,它具有必须响应处理的意思。


负责控制模态视图的控制器,被称为“模态视图控制器”。“模态视图控制器”并非一个专门的类,它可以是 上面提到的控制器的子类。负责主要任务视图的控制器称为“主视图控制器”,它与模态视图控制器之间是“父 子”关系。在UIViewController类中,主要有如下两个方法。

presentViewController:animated:completion。呈现模态视图。

dismissViewControllerAnimated:completion。关闭模态视图。


平铺导航 

平铺导航模式是非常重要的导航模式,一般用于简单的扁平化信息浏览。扁平化信息是指这些信息之间没有从属的层次关系


基于分屏导航的实现

基于分屏导航是平铺导航模式的主要实现方式,主要涉及的控件有分屏控件(UIPageControl)和滚动视图(ScrollView),其中分屏控件是iOS标准控件


基于分页导航的实现

可以使用分页控制器(UIPageViewController)构建类似于电子书效果的应用,我们称之为基 于分页的应用。一个分页应用有很多相关的视图控制器

4-读书笔记----iOS开发指南:从零基础到App Store上架--iOS视图控制器与导航模式



标签导航

标签导航模式是非常重要的导航模式。使用标签栏时,有一定的指导原则:标签栏位于屏幕下方,占有49点 的屏幕空间,有时可以隐藏起来;为了点击方便,标签栏中的标签不能超过5个,如果超过5个,则最后一个显示 为“更多”,点击“更多”标签会出现更多的列表


树形结构导航

树形结构导航模式也是非常重要的导航模式,它将导航视图控制器(UINavigationController)与表视图结合使用,主要用于构建有从属关系的导航。这种导航模式采用分层组织信息的方式,

树形结构导航模式的缺点是你怎样进来,就要怎样原路返回,这一点与标签导航模式不同,后者可以很快在 各个模块之间切换。


组合使用导航模式


小结

你已经可以判断你的应用是不是需要一个导航功能,并且知道在什么情况下选择平铺导航、 标签导航、树形结构导航,或者同时综合使用这3种导航模式。针对标签导航和树形导航这两种相对复杂的导航 模式,本章主要为大家提供了故事板的实现方式。