- July 26, 2025
- Mins Read
Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.
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
StepsView(currentStep: $step, steps: [“First”, “Second”, “Third”, “Done”])
.stepShape(.rhombus)
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.
progressView.stepShape = .circle
progressView.firstStepShape = .rhombus
progressView.lastStepShape = .square
// also available: .triangle, .downTriangle
progressView.textFont = myFont
progressView.detailFont = anotherFont
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)
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
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' |
dependencies: [
.package(url: “https://github.com/yonat/StepProgressView”, from: “1.6.3”)
]
NavigationKit is a lightweight library which makes SwiftUI navigation super easy to use. 💻 Installation 📦 Swift Package Manager Using Swift Package Manager, add ...
An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation. NavigationStack Installation ...
With SwiftUI Router you can power your SwiftUI app with path-based routing. By utilizing a path-based system, navigation in your app becomes ...
This package takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers, allowing you to use the same API not just ...