PagerScrollViewController 0.1.2

PagerScrollViewController 0.1.2

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布上次发布2016年5月
SPM支持 SPM

Mike Blatter 维护。



  • 作者
  • Michael Blatter

PagerScrollViewController

PagerScrollViewController 是一个 JScrollPane 的扩展,允许高效地进行 UIViewControllers 的翻页。类似于 Android 的 ViewPager 和 Fragments 实现。

功能

  1. 非常简单/轻量级的库 (~400 行代码)
  2. 支持垂直和水平排列,也支持方向变化
  3. 具有无限滚动能力
  4. 创建围绕当前页面的 UIViewController 以创建无缝的翻页过渡
  5. 内存管理 - 当触发 didReceiveMemoryWarning 时,除当前用户所在的页面外的所有控制器将被移除

源代码示例

要运行示例项目,克隆仓库,然后首先从 Example 目录中运行 pod install

要求

Swift 2.0

安装

PagerScrollViewController 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod 'PagerScrollViewController'

创建 PagerScrollViewController

创建 PagerScrollViewController 直观,可以在 viewDidLoad 中完成。

//Setup Pager
pagerScrollViewController = PagerScrollViewController()
pagerScrollViewController.parentController = self
pagerScrollViewController.parentView = view
pagerScrollViewController.delegate = self

//Configure It
pagerScrollViewController.orientation = PagerScrollViewControllerOrientation.Horizontal //Default Horizontal
pagerScrollViewController.pagesLoadedAroundVisiblePage = 1 //Default 1
pagerScrollViewController.itemsBeforeEndLoadMore = 5 //Default 5

//Add Pager to view
addChildViewController(pagerScrollViewController)
pagerScrollViewController.view.frame = view.frame
view.addSubview(pagerScrollViewController.view)
pagerScrollViewController.didMoveToParentViewController(self)

实现 PagerScrollViewControllerDelegate

必需方法

这些必需的方法对于使 PagerScrollViewController 运作是必需的。在尝试在 UIScrollView 内放置 UIViewController 时,将需要页面数以及如何获取视图控制器。

func getPageCount() -> Int {}

func getController(page: Int) -> UIViewController {}

可选方法

这些可选方法是 PagerScrollViewController 内发生的事件,您可以用于实现自己的代码。对于 loadMoreItems,在再次请求之前将需要调用回调闭包以避免重复。

func changedPage(page: Int, viewController: UIViewController, swiped: Bool) { }

func loadMoreItems(callback: () -> ()) {}

贡献者

Michael Blatter

Brad Woodard

许可协议

PagerScrollViewController 许可协议为 MIT。有关更多信息,请参阅 LICENSE 文件。