StepProgressView
  • October 2, 2023

Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.

         

Usage


let progressView = StepProgressView(frame: view.bounds)
progressView.steps = [“First”, “Second”, “Third”, “Last”]
progressView.details = [0: “The beginning”, 3: “The end”] // appears below step title

progressView.currentStep = 0 // started first step

progressView.currentStep = 4 // all done

SwiftUI Usage


StepsView(currentStep: $step, steps: [“First”, “Second”, “Third”, “Done”])
.stepShape(.rhombus)

Changing Appearance


The properties below can be set in Interface Builder, in code, or through a UIAppearance proxy (e.g., StepProgressView.appearance().stepShape = .circle). When using SwiftUI you can set them in the StepsView initializer or using SwiftUI view modifiers.

Shape of the step icons:

progressView.stepShape = .circle
progressView.firstStepShape = .rhombus
progressView.lastStepShape = .square
// also available: .triangle, .downTriangle

Text fonts and sizes:

progressView.textFont = myFont
progressView.detailFont = anotherFont

Line size spacing:

progressView.lineWidth = 2.5
progressView.verticalPadding = 8 // between steps (0 => default based on textFont)
progressView.horizontalPadding: 8 // between shape and text (0 => default based on textFont)

Colors:

progressView.tintColor = myGeneralTintColor

// alternatively:

progressView.currentStepColor = .red
progressView.pastStepColor = .gray
progressView.futureStepColor = .gray

progressView.currentStepFillColor = .yellow
progressView.pastStepFillColor = .gray
progressView.futureStepFillColor = .lightGray

progressView.currentTextColor = .blue
progressView.pastTextColor = .gray
progressView.futureTextColor = .lightGray
progressView.currentDetailColor = .cyan // nil => use currentStepColor

Installation


CocoaPods

pod ‘StepProgressView’

Legacy versions:

Swift version StepProgressView version
4.0 (Xcode 9.4) pod 'MiniLayout', '~> 1.2.1'
pod 'StepProgressView', '~> 1.4.1'
3 pod 'MiniLayout', '~> 1.1.0'
pod 'StepProgressView', '~> 1.3.0'
2.3 pod 'MiniLayout', '~> 1.0.1'
pod 'StepProgressView', '~> 1.2.1'

Swift Package Manager

dependencies: [
.package(url: “https://github.com/yonat/StepProgressView”, from: “1.6.3”)
]

GitHub


View Github

#progress #swift #timeline #uiactivityindicatorview #uiprogressview
YOU MIGHT ALSO LIKE...
exyte

     

camerakit-ios

CameraKit helps you add reliable camera to your app quickly. Our open source camera platform provides consistent capture results, service ...

HybridCamera

[video width="192" height="416" mp4="https://swiftgit.com/wp-content/uploads/2024/12/68747470733a2f2f7261776769742e636f6d2f7374796c656b69742f696d672f6d61737465722f7669645f6564697465645f325f326d622e676966.mp4"][/video]

TakeASelfie

An iOS framework that uses the front camera, detects your face and takes a selfie. This api opens the front ...

iOS-Depth-Sampler

Code examples of Depth APIs in iOS