示例
要运行示例项目,克隆仓库并运行 MultiProgressViewExample
目标。
基本用法
编程式
-
将
MultiProgressView
添加到视图层级中let progressView = MultiProgressView() view.addSubview(progressView)
-
使您的类符合
MultiProgressViewDataSource
协议并设置进度视图的dataSource
func numberOfSections(in progressView: MultiProgressView) -> Int func progressView(_ progressView: MultiProgressView, viewForSection section: Int) -> ProgressViewSection
progressView.dataSource = self
-
调用
setProgress(section:to:)
来更新视图的进度progressView.setProgress(section: 0, to: 0.4) //animatable
桜图
-
将
UIView
拖拽到视图控制器中,并在 Identity Inspector 中将视图的类设置为MultiProgressView
-
使用
IBOutlet
将进度视图连接到视图控制器 -
使视图控制器符合
MultiProgressViewDataSource
协议并实现所需方法func numberOfSections(in progressView: MultiProgressView) -> Int func progressView(_ progressView: MultiProgressView, viewForSection section: Int) -> ProgressViewSection
-
将视图控制器设置为进度视图的
dataSource
-
调用
setProgress(section:to:)
来更新视图的进度progressView.setProgress(section: 0, to: 0.4) //animatable
定制
多进度视图
每个 多进度视图
都会公开以下变量。如果使用故事板,可以在视图的 属性检查器 中直接自定义其中许多属性。
var cornerRadius: CGFloat = 0
var borderWidth: CGFloat = 0
var borderColor: UIColor? = .black
var lineCap: LineCapType = .square
var trackInset: CGFloat = 0
var trackBackgroundColor: UIColor? = .clear
var trackBorderColor: UIColor? = .black
var trackBorderWidth: CGFloat = 0
var trackImageView: UIImageView
var trackTitleLabel: UILabel
var trackTitleEdgeInsets: UIEdgeInsets = .zero
var trackTitleAlignment: AlignmentType = .center
注意:要应用圆角(使用 layer.cornerRadius
或 cornerRadius
变量),必须将 lineCap
类型设置为 .round
。
进度视图部分
每个 进度视图部分
都会公开以下变量
var imageView: UIImageView
var titleLabel: UILabel
var titleEdgeInsets: UIEdgeInsets = .zero
var titleAlignment: AlignmentType = .center
安装
CocoaPods
多进度视图通过 CocoaPods 提供。要安装,只需将以下行添加到您的 Podfile 中
pod 'MultiProgressView'
Carthage
多进度视图通过 Carthage 提供。要安装,只需将以下行添加到您的 Cartfile 中
github "mac-gallagher/MultiProgressView"
Swift 包管理器
MultiProgressView 可以通过 Swift PM 获取。要安装它,只需在 Package.swift
中将其作为依赖项添加即可。
dependencies: [
.package(url: "https://github.com/mac-gallagher/MultiProgressView.git", from: "1.2.0"),
]
手动操作
下载并将 MultiProgressView
目录拖入您的项目。
要求
- iOS 9.0+
- Xcode 10.2+
- Swift 5.0+
使用 MultiProgressView 的应用
我们很乐意了解使用 MultiProgressView 的应用 - 请免费提交拉取请求并在这里分享您的应用!
制作
(头部设计由 Mazen Ghani)