复习是一个用Swift编写的下拉刷新库。它提供了易于使用的UIScrollView方法来为您视图添加下拉刷新。复习还支持自定义动画。
tableView.addPullToRefreshWithAction {
NSOperationQueue().addOperationWithBlock {
sleep(2)
NSOperationQueue.mainQueue().addOperationWithBlock {
self.tableView.stopPullToRefresh()
}
}
}
复习支持在PullToRefreshView
上自定义动画。您需要创建一个遵循PullToRefreshViewAnimator
协议的对象。然后,只需在addPullToRefrshWithAction
中传递您的自定义动画器。
tableView.addPullToRefreshWithAction({
NSOperationQueue().addOperationWithBlock {
sleep(2)
NSOperationQueue.mainQueue().addOperationWithBlock {
self.tableView.stopPullToRefresh()
}
}
}, withAnimator: CustomAnimator())
您自定义对象需要实现的方法是:
func pullToRefreshAnimationDidStart(view: PullToRefreshView)
- 当用户抬起手指并且加载实际上开始时调用。在这里开始动画。func pullToRefreshAnimationDidEnd(view: PullToRefreshView)
- 当动画完成后调用。在这里执行必要的动画后清理。func pullToRefresh(view: PullToRefreshView, progressDidChange progress: CGFloat)
- 当用户拖动滚动视图时调用。如果您想实现某种进度行为,这很有用。func pullToRefresh(view: PullToRefreshView, stateDidChange state: PullToRefreshViewState)
- 当PullToRefreshView
改变其状态时调用您可以使用您自己的自定义UIView
子类作为下拉刷新视图。
if let customSubview = NSBundle.mainBundle().loadNibNamed("CustomSubview", owner: self, options: nil).first as? CustomSubview {
tableView.addPullToRefreshWithAction({
NSOperationQueue().addOperationWithBlock {
sleep(2)
NSOperationQueue.mainQueue().addOperationWithBlock {
self.tableView.stopPullToRefresh()
}
}
}, withAnimator: customSubview)
}
您的自定义子类必须遵循PullToRefreshViewDelegate
。
PullToRefresh.xcodeproj
并将其拖拽到您的app项目文件的文件导航器中。Refresher.framework
Refresher.framework
。Refresher.framework
拖放到您的项目中Refresher 由 Josip Ćavar 创建,并受 SVPullToRefresh 启发。如果您有任何建议或错误报告,请随时发送拉取请求或创建新的问题。