ACPaginatorViewController 1.0.3

ACPaginatorViewController 1.0.3

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最近发布2016年9月
SPM支持 SPM

维护者 Alex Corlatti



ACPaginatorViewController

示例

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

要求

安装

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

pod "ACPaginatorViewController"

用法

您的 viewController 必须符合 ACPaginatorViewControllerDelegate 协议,因此必须实现以下三个变量

@IBOutlet weak var pageControl: UIPageControl?
@IBOutlet weak var containerView: UIView!
lazy var orderedViewControllers: [UIViewController] = { 

    guard let 
        firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("First") as UIViewController?,
        secondVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Second") as UIViewController?,
        thirdVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Third") as UIViewController? else { return [] }

    return [firstVC, secondVC]

}()

在您的 storyboard 中将一个 UIContainerView 连接到您的变量 containerView,嵌入的 UIPageViewController 必须是 ACPaginatorViewController,您还可以选择将一个 UIPageControl 连接到您的 pageControl 变量。

返回您的 viewController 文件,并在 prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 方法中您必须将有序视图数组传递给 navigator,并告诉它视图遵循其协议。您还可以指定从哪个索引开始显示视图。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

   if let paginatorViewController = segue.destinationViewController as? ACPaginatorViewController {

       paginatorViewController.orderedViewControllers = orderedViewControllers
       paginatorViewController.paginationDelegate = self
       paginatorViewController.currentViewControllerIndex = 0 // By default is 0, so you can set it only if you need to start from a different index

    }

}

可选地,您可以实现这两个方法以在视图数量变化或页面翻转时执行某些操作。

func paginatorViewController(paginatorViewController: ACPaginatorViewController, didUpdatePageCount count: Int) {

   // Do something

}

func paginatorViewController(paginatorViewController: ACPaginatorViewController, didUpdatePageIndex index: Int) {

   // Do something

}

作者

Alex Corlatti,[email protected]

许可证

ACPaginatorViewController 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。