DGElasticPullToRefresh

用 Swift 开发的弹性下拉刷新组件

灵感来源于 Dribbble 上的这篇帖子:下拉刷新,作者:Hoang Nguyen

关于如何实现这种弹性效果的教程可以在这里找到。

要求

演示

在 Xcode 中打开并运行 DGElasticPullToRefreshExample 项目,以查看 DGElasticPullToRefresh 的实际效果。

安装

CocoaPods

pod 'DGElasticPullToRefresh'

手动

将 DGElasticPullToRefresh 文件夹添加到您的项目中。

使用示例

// Initialize tableView
let loadingView = DGElasticPullToRefreshLoadingViewCircle()
loadingView.tintColor = UIColor(red: 78/255.0, green: 221/255.0, blue: 200/255.0, alpha: 1.0)
tableView.dg_addPullToRefreshWithActionHandler({ [weak self] () -> Void in
    // Add your logic here
    // Do not forget to call dg_stopLoading() at the end
    self?.tableView.dg_stopLoading()
}, loadingView: loadingView)
tableView.dg_setPullToRefreshFillColor(UIColor(red: 57/255.0, green: 67/255.0, blue: 89/255.0, alpha: 1.0))
tableView.dg_setPullToRefreshBackgroundColor(tableView.backgroundColor!)

不要忘记在视图控制器销毁时移除下拉刷新。这是一个临时的解决方案。

deinit {
    tableView.dg_removePullToRefresh()
}

描述

添加不带加载视图的下拉刷新

func dg_addPullToRefreshWithActionHandler(_ actionHandler: @escaping () -> Void)

添加带加载视图的下拉刷新

func dg_addPullToRefreshWithActionHandler(_ actionHandler: @escaping () -> Void, loadingView: DGElasticPullToRefreshLoadingView?)

您可以使用内置的 *DGElasticPullToRefreshLoadingViewCircle*,或者通过继承 DGElasticPullToRefreshLoadingView 并实现这些方法来创建自己的加载视图

func setPullProgress(_ progress: CGFloat)
func startAnimating()
func stopLoading()

移除下拉刷新

func dg_removePullToRefresh()

设置自动开始加载

func dg_startLoading()

更改下拉刷新背景颜色

func dg_setPullToRefreshBackgroundColor(_ color: UIColor)

更改下拉刷新填充颜色

func dg_setPullToRefreshFillColor(_ color: UIColor)

贡献

请随时提交 pull requests。 期待看到您为这个下拉刷新定制的加载视图。

联系

Danil Gontovnik

许可证

MIT 许可证 (MIT)

版权所有 (c) 2015 Danil Gontovnik

特此授予任何人免费获得本软件及相关文档文件(“软件”)副本的许可,可以不受限制地处理本软件,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售本软件副本的权利,并允许向其提供本软件的人员也这样做,但须遵守以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、适用于特定目的和不侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,这些索赔、损害或其他责任是因本软件或本软件的使用或与本软件相关的其他行为而引起的。