注意:该项目是从AMRefresher分叉的,因为原始项目不再维护。
JKRefresher
通过一行代码轻松实现“下拉刷新”和“无限滚动”
安装
JKRefresher可通过CocoaPods获取。要安装它,只需将以下行添加到Podfile中
pod 'JKRefresher'
或
将JKRefresher文件夹复制到您的项目中。
使用
添加PullToRefresh和InfiniteScrolling到任何UIScrollView非常简单
override func viewDidLoad() {
super.viewDidLoad()
//Adding Pull To Refresh
tableView.am.addPullToRefresh { [unowned self] in
//Do your heavy job.
//modify your datasource
//...
self.tableView.reloadData() //or insert cells at top of tableView
self.tableView.am.pullToRefreshView?.stopRefreshing()
}
//Adding Infinite Scrolling
tableView.am.addInfiniteScrolling { [unowned self] in
//Do your heavy job.
//append to your datasource
//...
self.tableView.reloadData() //or insert cells at bottom of tableView
self.tableView.am.infiniteScrollingView?.stopRefreshing()
}
}
如果您想程序性地触发刷新(例如在viewDidAppear:中),可以这样做
tableView.am.pullToRefreshView?.trigger()
重要说明
如果您想改变ScrollView的内容内边距,请在添加pullToRefresh或infiniteScrolling之前这样做。
自定义内容
两者AMPullToRefreshView
和AMInfiniteScrollingView
都有公共方法
public func setCustomView(_ view: UIView, for state: AM.State)
因此您可以调用此方法并传递您想为每种状态显示的任何UIView。
许可证
JKRefresher-Fork遵循MIT许可证。有关更多信息,请参阅LICENSE文件。