DSGradientProgressView
介绍
DSGradientProgressView
是用 Swift 编写的一个简单且可自定义的动画进度条。
灵感来源于 GradientProgressView。
示例
gif 看起来闪烁,但在设备上的实际动画不会。
用法
只需在 Storyboard 中将一个 UIView
拖放到您的视图控制器中。选择您的视图,在 Identity Inspector
中将类更改为 DSGradientProgressView
。
别忘了将模块更改为
DSGradientProgressView
。
根据您的需要调整视图大小。(大多数情况下,3px 的高度看起来很好)。
在您的视图控制器源文件中导入 DSGradientProgressView
。
import DSGradientProgressView
在您的视图控制器源文件中创建视图的 IBOutlet
。
@IBOutlet weak var progressView: DSGradientProgressView!
定制
您可以更改进度条的基本颜色。有两种方式来完成这个任务
- 通过在源文件中设置视图对象的
barColor
属性。
progressView.barColor = UIColor.green
- 在 Storyboard 本身中更改条形颜色属性。
动画
DSGradientProgressView
被设计用来跟踪等待完成的请求数量。因此 API 的命名采用信号量方法名称。您通过调用 DSGradientProgressView
的 wait()
方法来开始动画,通过调用 signal()
方法来停止。它将自身隐藏和显示。
progressView.wait()
// waiting for some resource
progressView.signal()
因此,如果您希望视图控制器等待多个网络请求(或其他任何资源)完成,并且希望进度条一直动画直到所有请求完成,您可以通过简单调用次数来做到这一点。之后,以相同次数调用 signal()
。
progressView.wait()
// waiting for some resource asynchronously
ResourceOne.sharedInstance.fetchData { (data, error) in
self.progressView.signal()
}
progressView.wait()
// waiting for another resource asynchronously
ResourceTwo.sharedInstance.fetchData { (data, error) in
self.progressView.signal()
}
安装
CocoaPods(推荐)
CocoaPods 是 Cocoa 项目的依赖项管理器。您可以使用以下命令安装它
$ gem install cocoapods
CocoaPods 1.1.0+ 需要 DSGradientProgressView 1.0.0+ 构建。
要使用 CocoaPods 将 DSGradientProgressView 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'DSGradientProgressView'
end
然后,运行以下命令
$ pod install
手动
将 DSGradientProgressView.swift
复制到您的 Xcode 项目中。这样就完成了。
需求
- iOS 8.0+
- Xcode 10.0+
- Swift 4.2+
联系人
- 由 @abhinavtyagi 创建和维护