ZInfinityScrollView
ZInfinityScrollView
关于 ZInfinityScrollView 只是为了分页而创建的,使用 ZInfinityScrollView 可以快速进行分页操作。ZInfinityScrollView 是 UIScrollView 的子类,并使用 UITableView 来列出数据。
示例
文档
-
在 storyboard 中添加一个 UIScrollView,并将其类设置为 ZInfinityView,然后为 viewcontroller 添加一个 outlet。
@IBOutlet weak var zInfinityView: ZInfinityView!
-
使用以下代码设置 tableview:
self.zInfinityView.setupTableView (delegate: self, datasource: self, handler: { tableview in
// 在此处访问 tableview})
-
将分页代理添加到视图:
self.zInfinityView.paginationDelegate = self
-
调用 API // 从 API 获取数据
// After fetching data call reloadData self.zInfinityView.reloadData()
// 如果您要停止分页
self.zInfinityView.stopPagination()
// 如果您想重新启动分页,即重新开始页面计数。
self.zInfinityView.restart()
-
确认代理到视图控制器
extension ViewController: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.contents.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = UITableViewCell() cell.textLabel?.text = self.contents[indexPath.row] return cell } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 60 } } extension ViewController: ZInfinityViewDelegate { func zInfinityView(willPaginateTo zInfinityView: ZInfinityView, currentPage: Int) -> Int { /** Next page number*/ return currentPage + 1 } func zInfinityView(zInfinityView: ZInfinityView, didPaginateTo page: Int) { /**API calls here*/ getData(page: page, handler: nil) } }
示例
运行示例项目,首先需要克隆仓库,然后从示例目录中运行pod install
。
要求
安装
ZInfinityScrollView可通过CocoaPods获取。要安装它,只需将以下行添加到Podfile中:
pod 'ZInfinityScrollView'
作者
sxudan, [email protected]
许可证
ZInfinityScrollView遵循MIT许可证。有关更多信息,请参阅LICENSE文件。