Travis CocoaPods Carthage Compatible Swift v3 Twitter Twitter

中文介绍

ESPullToRefresh 是一个易于使用的组件,为开发者提供了 下拉刷新无限滚动 的实现。 通过扩展 UIScrollView,您可以轻松地为 UIScrollView 的任何子类添加下拉刷新和无限滚动功能。 如果您想自定义其 UI 样式,只需遵循指定的协议即可。

要求

特性

演示

下载并在 Xcode 中运行 ESPullToRefreshExample 项目,以查看 ESPullToRefresh 的实际效果。

安装

CocoaPods

pod "ESPullToRefresh"

Carthage

github "eggswift/pull-to-refresh"

手动

git clone https://github.com/eggswift/pull-to-refresh.git
open ESPullToRefresh

用法

默认样式

ESPullToRefresh 添加到您的项目

import ESPullToRefresh

添加默认下拉刷新

self.tableView.es.addPullToRefresh {
	[unowned self] in
	/// Do anything you want...
	/// ...
	/// Stop refresh when your job finished, it will reset refresh footer if completion is true
	self.tableView.es.stopPullToRefresh(completion: true)
	/// Set ignore footer or not
	self.tableView.es.stopPullToRefresh(completion: true, ignoreFooter: false)
}

添加默认无限滚动

self.tableView.es.addInfiniteScrolling {
	[unowned self] in
	/// Do anything you want...
	/// ...
	/// If common end
	self.tableView.es.stopLoadingMore()
	/// If no more data
	self.tableView.es.noticeNoMoreData()
}

自定义样式

效果如下

PS: 加载效果来自美团 iOS 应用程序。

自定义刷新需要遵循 ESRefreshProtocolESRefreshAnimatorProtocol 协议。

添加自定义下拉刷新

func es.addPullToRefresh(animator animator: protocol<ESRefreshProtocol, ESRefreshAnimatorProtocol>, handler: ESRefreshHandler)

添加自定义无限滚动

func es.addInfiniteScrolling(animator animator: protocol<ESRefreshProtocol, ESRefreshAnimatorProtocol>, handler: ESRefreshHandler)

过期和自动刷新

ESPullToRefresh 支持最新的过期时间和缓存刷新时间,您需要为您的 UIScrollView 设置一个 refreshIdentifier

scrollView.refreshIdentifier = "Your Identifier" // Set refresh identifier
scrollView.expriedTimeInterval = 20.0 // Set the expiration interval

您可以使用 es.autoPullToRefresh() 方法,当时间超过上次刷新间隔时,自动刷新。

scrollView.es.autoPullToRefresh()

let expried = scrollView.espried // expired or not

移除

func es.removeRefreshHeader()
func es.removeRefreshFooter()

赞助

您可以通过查看我们的赞助页面来支持该项目。只需单击一下

git-ad
此广告由 GitAds 投放

关于

ESPullToRefresh 由 Vincent Li 开发和维护。 如果您在使用 ESPullToRefresh 时有任何问题或疑问,欢迎提出 issue
如果您想为 ESPullToRefresh 做出贡献,请提交 Pull Request,我会尽快处理。

Twitter URL Twitter Follow

许可证

MIT 许可证 (MIT)

版权所有 (c) 2013-2020 eggswift

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

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

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