概述
UIPageViewController
可以实现内容页之间的导航功能,每一页的内容都由它自己的view controller来管理。
页面过渡有两种方式:
- UIPageViewControllerTransitionStyle.PageCurl(卷曲翻页)
- UIPageViewControllerTransitionStyle.Scroll(滚动)
.PageCurl
当以此方式过渡页面的时候,UIPageViewController
的属性spineLocation
(书脊的位置),和doubleSided
(双面)来共同决定要展示的页面是一个,还是两个。通过方法
- setViewControllers:direction:animated:completion:
来展示需要的页面,参数 `viewControllers
根据下表的具体情况来设置。
Spline location | Double sided | whate to pass |
---|---|---|
.Mid(中间位置) | true | 传要显示的左边页面和右边页面 |
.Min .Max | true | 传将要显示页面的前页面和后页面,后页面用于动画 |
.Min or .Max | false | 传将要显示页面的前面页面 |
书脊位置定义如下:
enum UIPageViewControllerSpineLocation : Int
{
case None //位置无效
case Min //屏幕左边或上边缘,显示一个view controller
case Mid //屏幕中间,显示两个view controller
case Max //屏幕右边或下边缘,显示一个view controller
}
下图展示一页
下图展示双页的情况,书脊在中间位置
代码示例
let pageViewController = UIPageViewController(transitionStyle: .PageCurl, navigationOrientation: