分页TableView
示例
要运行示例项目,请克隆仓库,然后首先从 Example 目录中运行 pod install
。
演示
分页或无限滚动是现代应用中非常必要的功能。这个库可以轻松实现无限滚动。
无需在 ViewController 中保留页面编号或显示/隐藏加载器逻辑,它将保持与简单的表格视图一样简洁。
猜猜看,它默认带有下拉刷新的功能;)
用法
步骤 1: 分配自定义类
// Assign custom class to table view in storyboard
@IBOutlet weak var tableView: PaginatedTableView!
步骤 2: 请记住只分配分页代理和数据源,不要分配 tableViewDelegate
或 tableViewDataSource
// Add paginated delegates only
tableView.paginatedDelegate = self
tableView.paginatedDataSource = self
步骤 3: 在 ViewDidLoad
中以带有 true 可选参数的加载方法调用
tableView.loadData(refresh: true)
步骤 4: 实现存根并调用 API
func loadMore(_ pageNumber: Int, _ pageSize: Int, onSuccess: ((Bool) -> Void)?, onError: ((Error) -> Void)?) {
// Call your api here
// Send true in onSuccess in case new data exists, sending false will disable pagination
// If page number is first, reset the list
if pageNumber == 1 { self.list = [Model]() }
// else append the data to list
self.list.append(apiResponseList)
// If Api responds with error
onError?(apiError)
// Else end success with flag true if more data available
let moreDataAvailable = !apiResponseList.isEmpty
onSuccess?(moreDataAvailable)
}
最新版本支持滑动单元格和监听滚动变化,请查看示例以了解更多功能。
步骤 5: 享受
是的!就这么简单。现在您已经有了带有无限滚动和下拉刷新的分页表格视图
简单,不是吗?
安装
PaginatedTableView可以通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中
pod 'PaginatedTableView'
作者
Salmaan Ahmed,[email protected]
许可证
PaginatedTableView遵循MIT许可证。有关更多信息,请参阅LICENSE文件。