ESPullToRefresh 2.9.3

ESPullToRefresh 2.9.3

测试测试内容
语言语言 SwiftSwift
许可 MIT
发布最后发布2020年8月
SPM支持 SPM

egg swiftiamjjh 维护。



Travis CocoaPods Carthage Compatible Swift v3 Twitter Twitter

中文介绍

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

要求

  • Xcode 8 或更高版本
  • iOS 8.0 或更高版本
  • ARC
  • Swift 5.0 或更高版本

特性

  • 支持 UIScrollView 及其子类 UICollectionViewUITableViewUITextView
  • 下拉刷新和上拉加载更多
  • 支持自定义自己的风格

示例

在 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应用。

自定义刷新需要遵守

添加自定义下拉刷新

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

添加自定义无限滚动

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

过期和自动刷新

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

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时有任何问题或问题,欢迎问题
如果您想为ESPullToRefresh做出贡献,请提交拉取请求,我将尽快处理。

Twitter URL Twitter Follow

许可证

MIT许可(MIT)

版权所有(c)2013-2020 eggswift

在此特此许可,无需支付任何费用,任何人获取本软件及其相关文档副本(“软件”),均可不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,并允许软件提供方这样做,前提是遵守以下条件

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

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者对任何索赔、损害或其他责任,不论基于合同、侵权或其他原因,均不承担任何责任,这些索赔、损害或其他责任源于、产生于或与软件或对软件的使用或其他方式相关。