目录
1.2.2 UIPageViewControllerDelegate
1.2.3 UIPageViewControllerDataSource
1 基于电子书导航的平铺导航
1.1 概述
IOS 5添加了UIPageViewController用于构建图书翻页效果的电子书方面的应用。
要构建这么一个电子书导航模式的平铺导航设计多个视图控制器,首先UIPageViewController上层还需要一个UIViewController作为其父视图控制器,UIPageViewController还有子视图控制器,每一个视图控制器对应一个页面,如下面的简图:
1.2 三个关键角色
在进行编码实现之前我们需要知道三个关键的角色:UIPageViewController、UIPageViewControllerDelegate 和UIPageViewControllerDataSource
1.2.1 UIPageViewController
实现分页视图控制器,在视图空间对象库中是找不到的,用的时候就不能通过拖拽的方式布局了,只能代码实现。
1.2.2 UIPageViewControllerDelegate
最重要的函数:- (UIPageViewControllerSpineLocation)pageViewController: spineLocationForInterfaceOrientation:
两个重要的属性:doubleSided(双面显示),spineLocation(书脊位置,也就是书本摊开中间),以及一个重要函数:
-(UIPageViewControllerSpineLocation)pageViewController: spineLocationForInterfaceOrientation:
根据屏幕旋转方向设置书脊的位置以及初始化首页
doubleSided:双面显示,模拟真实翻页,doubleSided = true的时候,正面和背面都会显示各自的内容;doubleSided = false的时候,背面会显示正面透过来的相反的镜像内容。
spineLocation:书脊的位置,是一个只读属性,只能通过pageViewController: spineLocationForInterfaceOrientation:函数修改,书脊的位置是通过枚举UIPageViewControllerSpineOrientation来定义的。
None | 默认模式 |
Min | 书脊的位置在最左边或者最上边,翻页从左往右或者从上往下翻动 |
Mid | 书脊的位置在中间,一般用在横屏中展示,ipad应用比较多,iphone应用一般电子书只允许竖屏 |
Max | 书脊的位置在最右边或者最下边,翻页从右往左或者从下网上翻动 |