iOS翻页视图控制器UIPageViewController的应用
一、引言
UIPageViewController是iOS中少见的动画视图控制器之一,通过它既可以创建类似UIScrollView与UIPageControl结合的滚屏视图,也可以创建类似图书效果的炫酷翻页视图。UIPageViewController类似一个视图容器,其中每个具体的视图由各自的ViewController进行维护管理,UIPageViewController只进行协调与动画布置。下图可以很好的展现出UIPageViewControlelr的使用结构:
上图中,UIPageViewControllerDataSource协议为UIPageViewController提供数据支持,DataSource协议提供的数据来自各个ViewContoller自行维护,UIPageViewControllerDelegate中的回调可以对翻页动作,屏幕旋转动作等进行监听。UIPageViewController把从DataSource中获取到的视图数据渲染给View用于当前视图控制器的展示。
二、创建一个UIPageViewController
首先新建一个类作为翻页视图控制器中具体每一页视图的控制器,使其继承于UIViewController:
ModelViewController.h
1 2 3 4 5 |
|
ModelViewController.m
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
在工程模板自带的ViewController.m文件中实现如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
|
上面创建了最简单的翻页视图控制器示例,效果如下图:
三、UIPageViewController中方法使用解析
1 2 |
|
上面方法用于创建视图控制器对象,其中UIPageViewControllerTransitionStyle参数设置翻页控制器的风格,枚举如下:
1 2 3 4 |
|
如果设置为UIPageViewControllerTransitionStyleCurl,翻页效果如下图所示:
上面初始化方法中的UIPageViewControllerNavigationOrientation属性设置翻页的方向,枚举如下:
1 2 3 4 |
|
options参数用于设置翻页视图控制器的配置字典,其可以设置的配置键值如下:
1 2 3 4 |
|
下面是UIPageViewController的一些常用属性与方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
上面只有spineLocation属性有些难于理解,其枚举如下:
1 2 3 4 5 6 7 8 9 10 |
|
将上面的示例代码修改几个地方如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
运行效果如下图所示:
四、UIPageViewControllerDataSource中方法解析
1 2 3 4 5 6 7 8 |
|
五、UIPageViewControllerDelegate中方法解析
1 2 3 4 5 6 |
|