这是一个拖动刷新控件,通常是下拉刷新和上拉加载,也就是此框架默认的方式,但也有比较奇怪的产品需要实现左拉刷新和右拉加载,为满足这些奇怪需求,此框架应运而生,它可以指定方向以实现下拉刷新、左拉刷新、上拉刷新、右拉刷新,下拉加载、左拉加载、上拉加载、右拉加载,如果有这样的需求,来这就能找到解决方案。
推荐使用 CocoaPods
pod 'GDRefreshControl', '~> 0.1.8'
0.1.8 对应 swift4.0
let refresh = GDRefreshControl.init(target: self, selector: #selector(refreshFunction))
self.collectionView?.gdRefreshControl = refresh
您也可以设置相关参数来实现想要的布局、图片和文字的显示
refresh.refreshHeight // 刷新控件高度
refresh.direction // 刷新控件所在的位置,(top, left, bottom, right)
refresh.networkErrorImage // 网络错误时展示的图片
refresh.pullingImages // 拖拽时的图片集合
refresh.refreshingImages // 刷新时的图片集合
refresh.pullingStr // 文字显示
super.viewDidLoad()
collectionView?.gdRefreshControl = GDRefreshControl.init(target: self , selector: #selector(performRefresh))
collectionView?.gdLoadControl = GDLoadControl.init(target: self , selector: #selector(loadMore))
}
@objc func loadMore() {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
self.collectionView?.gdLoadControl?.endLoad(result: GDLoadResult.nomore)
}
}
@objc func performRefresh() {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
self.collectionView?.gdRefreshControl?.endRefresh(result: GDRefreshResult.networkError)
}
}