复习 0.7.0

复习 0.7.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2017年9月
SwiftSwift 版本4.0
SPM支持 SPM

Josip Cavar维护。




复习 0.7.0

复习是一个用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

要求

  • Xcode 6
  • iOS 8.0

安装

Git子模块

  1. 将复习作为git子模块添加到您的顶级项目目录中,或者简单地复制整个文件夹
  2. 找到PullToRefresh.xcodeproj并将其拖拽到您的app项目文件的文件导航器中。
  3. 在Xcode中,通过点击蓝色的项目图标并选择侧边栏中的“Targets”部分下的“应用程序目标”,导航到目标配置窗口。
  4. 在“常规”面板中转到“链接的框架和库”并添加Refresher.framework

框架

  1. 只需下载复习
  2. 构建它,您应该会发现在“产品”组下有Refresher.framework
  3. 右键点击并选择“在Finder中显示”选项。
  4. 只需将Refresher.framework拖放到您的项目中

示例

Refresher: preview default Refresher: preview beat Refresher: preview pacman

致谢

Refresher 由 Josip Ćavar 创建,并受 SVPullToRefresh 启发。如果您有任何建议或错误报告,请随时发送拉取请求或创建新的问题