内容
✍️ 描述
PaginationController
提供了通过具有请求结果限制的列表进行分页的逻辑。它还提供了一个 TableViewPaginationController
,它向 tableFooterView
添加和删除加载视图。
🖥 示例
class ViewController: UITableViewController {
var items: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
paginationController = TableViewPaginationController(tableView: tableView) { previousPage, callback in
// Imagine an API call being made here.
self.loadMore(after: previousPage) { page in
self.items += page?.results ?? []
self.tableView.reloadData()
callback(page)
}
}
}
}
🎬 演示
您可以在本存储库中找到此演示应用程序。
🔥 自定义
自定义加载视图
如果您想显示自己的加载视图,您可以使用任何符合 LoadingAnimatable
协议的 UIView
,该协议在此处描述。
将其传递给初始化器
paginationController = TableViewPaginationController(loadingView: MyLoadingView(), ...)
或者设置属性
paginationController.loadingView = MyLoadingView()
查看演示
💻 使用方法
Cocoapods:
PaginationController
可在 Cocoapods 上找到。只需将以下行放入您的 Podfile
pod 'PaginationController'
Swift 包管理器:
将以下内容添加到您的 Package.swift
文件中
dependencies: [
.package(url: "https://github.com/lukaswuerzburger/PaginationController.git", from: "1.0.0")
]
⚠️ 要求
- Swift 5+
- iOS 10+
- Xcode 11+
💪 贡献
欢迎提出问题和拉取请求。