MultiProgressView 1.3.0

MultiProgressView 1.3.0

Mac Gallagher 维护。



  • Mac Gallagher

Build Status Platform Swift 5 Code Coverage CocoaPods Carthage Swift Package Manager Platform

📊 MultiProgressView 是一个可动画的视图,它随时间描绘多个进度。模仿了 UIProgressView


示例

要运行示例项目,克隆仓库并运行 MultiProgressViewExample 目标。

基本用法

编程式

  1. MultiProgressView 添加到视图层级中

    let progressView = MultiProgressView()
    view.addSubview(progressView)
  2. 使您的类符合 MultiProgressViewDataSource 协议并设置进度视图的 dataSource

    func numberOfSections(in progressView: MultiProgressView) -> Int
    func progressView(_ progressView: MultiProgressView, viewForSection section: Int) -> ProgressViewSection
    progressView.dataSource = self
  3. 调用 setProgress(section:to:) 来更新视图的进度

    progressView.setProgress(section: 0, to: 0.4) //animatable

桜图

  1. UIView 拖拽到视图控制器中,并在 Identity Inspector 中将视图的类设置为 MultiProgressView

    IdentityInspector

  2. 使用 IBOutlet 将进度视图连接到视图控制器

    IBOutlet

  3. 使视图控制器符合 MultiProgressViewDataSource 协议并实现所需方法

     func numberOfSections(in progressView: MultiProgressView) -> Int
     func progressView(_ progressView: MultiProgressView, viewForSection section: Int) -> ProgressViewSection
  4. 将视图控制器设置为进度视图的 dataSource

    DataSource

  5. 调用 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.cornerRadiuscornerRadius 变量),必须将 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 的应用 - 请免费提交拉取请求并在这里分享您的应用!


制作❤️Mac Gallagher
(头部设计由 Mazen Ghani