BezierRefreshControl 1.0.1

BezierRefreshControl 1.0.1

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最新版本2017年9月
SwiftSwift版本3.0
SPM支持SPM

Konstantinos Dimitros维护。




Bezier Refresh Control

一款基于矢量(使用贝塞尔路径)的(用于iOS滚动视图的)动画加载数据控件(下拉刷新)。

BezierRefreshControl 实现了在 iOS 滚动视图中绘制贝塞尔路径的动画方式,可用于作为加载数据的控件 - 例如在刷新表格视图(或集合视图)的内容时进行下拉刷新操作。开发人员可以在控件的初始化阶段提供自己的贝塞尔路径以进行动画。动画执行期间数据正在加载(例如从远程源/API 获取数据)。

FlameRefreshControl

特性

  • [x] 支持自定义贝塞尔路径
  • [x] 在每个 UIScrollView 子类中工作
  • [x] 颜色自定义
  • [x] 描边线宽自定义

要求

  • iOS 8.0+
  • Xcode 7.3

安装

手动安装

  1. 下载并将 BezierRefreshControl.swift 文件拖放到您的项目中。
  2. 恭喜!

使用示例

导入

import BezierRefreshControl

在您的类中创建一个属性

var refreshControl: BezierRefreshControl!

在您的 viewDidLoad() 方法中添加以下代码

// Init BezierRefreshControl
self.refreshControl = BezierRefreshControl(inScrollView: self.tableView, withPath: createSampleFlamePath(), bindsScrollViewDelegate: true)

// Set the delegate
self.refreshControl.delegate = self

注意,您需要将您的 UIBezierPath 实例作为初始化参数提供。

属性

颜色

self.refreshControl.color = UIColor.red

描边线宽

self.refreshControl.lineWidth = 3.0

UIScrollViewDelegate 绑定

如果您注意到在初始化阶段有一个关于绑定滚动视图代理的布尔参数。在您需要在代码中实现滚动视图代理的情况下,需要进行以下两个步骤

  1. 在初始化阶段,将 bindsScrollViewDelegate 参数设置为 false
  2. 在实现(在您的代码中)的 UIScrollViewDelegate 代理方法中,调用控制器的公开方法
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
self.refreshControl.scrollViewWillBeginDragging(scrollView)
}

func scrollViewDidScroll(_ scrollView: UIScrollView) {
self.refreshControl.scrollViewDidScroll(scrollView)
}

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
self.refreshControl.scrollViewDidEndDragging(scrollView, willDecelerate: decelerate)
}

贡献

我非常欣赏您对 BezierRefreshControl 的贡献,更多详情请查看 LICENSE 文件。

关于我

康斯坦丁诺斯·迪米特洛斯 | twitter | 电子邮件 | github | linkedin

许可协议

在MIT许可下分发。更多信息请参见 LICENSE 文件。