UIPageViewController的使用(Swift)
来源:互联网 发布:张家界旅游大数据 编辑:程序博客网 时间:2024/05/17 03:44
UIPageViewController能够让用户在不同的页面内容之间导航,而每个页面的内容也有自己的ViewController. 页面切换有翻页和滚动两种方式.
class ViewController: UIViewController,UIPageViewControllerDataSource,UIPageViewControllerDelegate { var pageController:UIPageViewController! var currentPage:Int = 0 var viewControllers = NSMutableArray() override func viewDidLoad() { super.viewDidLoad() //初始化 //transitionStyle:转换样式,有PageCurl和Scroll两种 //navigationOrientation:导航方向,有Horizontal和Vertical两种 //options: UIPageViewControllerOptionSpineLocationKey---书脊的位置 // UIPageViewControllerOptionInterPageSpacingKey---每页的间距 pageController = UIPageViewController(transitionStyle: .PageCurl, navigationOrientation:.Horizontal, options: [UIPageViewControllerOptionSpineLocationKey:NSNumber(float: 10)]) pageController.delegate = self;//设置delegate,提供展示相关的信息和接收手势发起的转换的通知 pageController.dataSource = self;//设置datasource,提供展示的内容 currentPage = 0 //初始化要展示的Controller,自定义 for index in 0...9 { let storyboard = UIStoryboard(name: "Main", bundle: nil) let pViewController = storyboard.instantiateViewControllerWithIdentifier("PageViewController") as PageViewController viewControllers.addObject(pViewController) pViewController.numberLabel?.text = "第\(currentPage+1)页" } //展示之前进行初始化第一个Controller, 单个显示放一个,两个显示则放两个,和样式有关 pageController.setViewControllers([viewControllers.objectAtIndex(0)], direction: .Forward, animated: false) { (b:Bool) -> Void in } //UIPageController必须放在Controller Container中 self.addChildViewController(pageController) self.view.addSubview(pageController.view) currentPage = 0 } //------------Delegate-------------- func pageViewController(pageViewController: UIPageViewController, willTransitionToViewControllers pendingViewControllers: [AnyObject]) { } func pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [AnyObject], transitionCompleted completed: Bool) { } func pageViewController(pageViewController: UIPageViewController, spineLocationForInterfaceOrientation orientation: UIInterfaceOrientation) -> UIPageViewControllerSpineLocation { return .Min } func pageViewControllerSupportedInterfaceOrientations(pageViewController: UIPageViewController) -> Int { return 2 } func pageViewControllerPreferredInterfaceOrientationForPresentation(pageViewController: UIPageViewController) -> UIInterfaceOrientation { return .Portrait } //-------------DataSource----------------- func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { currentPage-- if currentPage < 0 { currentPage = 0 return nil } return viewControllers[currentPage] as? UIViewController } func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { currentPage++ if currentPage > 9 { currentPage = 9 return nil } return viewControllers[currentPage] as? UIViewController } func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int { return pageController.viewControllers.count } func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int { return currentPage }}
0 0
- UIPageViewController的使用(Swift)
- UIPageViewController 的简单使用
- UIPageViewController的简单使用
- UIPageViewController的简单使用
- iOS UI代码片段-UIPageViewController的使用
- iOS UIPageViewController - 使用总结
- swift+UIPageViewController 纯代码实现引导页
- UIPageViewController
- UIPageViewController
- UIPageViewController
- UIPageViewController
- UIPageViewController
- 如何使用Storyboard创建UIPageViewController
- 如何使用Storyboard创建UIPageViewController
- 使用 CGPDFDocument、CATiledLayer 和 UIPageViewController 做简单的 PDF 阅读器(一)
- 使用UIPageViewController进行多页面管理 -
- 【译】如何使用Storyboard创建UIPageViewController
- iOS 5 新增的UIPageViewController 简单示例
- SQL中tinyint\smallint\int\bigint之间的区别
- SQL中的主键以及联合主键
- czcc
- 《APUE》中的函数整理
- 时间序列分析
- UIPageViewController的使用(Swift)
- android图片处理工具类 (图片缩放,圆角图片,转换成圆形,图片倒影,添加阴影)
- 剑指offer 面试题19 二叉树镜像
- 网络工程课表单
- Android的ContentProvider(二)
- win7显示文件名后缀
- 带方向箭头的线段
- 如何才算是符合搜索引擎算法的推广
- 分布式系统阅读笔记(五)-----远程调用