Steps is a navigation bar that guides users through the steps of a task. You need to use it when a given task is complicated or has a certain sequence in the series of subtasks, we can decompose it into several steps to make things easier.
- iOS 10.0+ / tvOS 9.0+ / macOS 10.10+ / Ubuntu 14.04+
- Swift 5.0+
CocoaPods
To integrate Steps into your Xcode project using CocoaPods, specify it in your Podfile:
pod 'Steps'Swift Package Manager
You can use The Swift Package Manager to install Steps by adding the proper description to your Package.swift file:
import PackageDescription let package = Package( name: "YOUR_PROJECT_NAME", targets: [], dependencies: [ .package(url: "https://github.com/asam139/Steps.git", from: "0.2.0") ] ) Next, add Steps to your targets dependencies like so:
.target( name: "YOUR_TARGET_NAME", dependencies: [ "Steps", ] ),Then run swift package update.
Manually
Add the Steps project to your Xcode project
struct Item { var title: String var image: Image? } struct ContentView: View { @ObservedObject private var stepsState: StepsState init() { let items = [ Item(title: "First_", image: Image(systemName: "wind")), Item(title: ""), Item(title: "Second__", image: Image(systemName: "tornado")), Item(title: ""), Item(title: "Fifth_____", image: Image(systemName: "hurricane")) ] stepsState = StepsState(data: items) } func onCreateStep(_ item: Item) -> Step { return Step(title: item.title, image: item.image) } var body: some View { VStack(spacing: 12) { Steps(state: stepsState, onCreateStep:onCreateStep) .itemSpacing(10) .font(.caption) .padding() Button(action: { self.stepsState.nextStep() }) { Text("Next") } .disabled(!stepsState.hasNext) Button(action: { self.stepsState.previousStep() }) { Text("Previous") } .disabled(!stepsState.hasPrevious) }.padding() } }We want your feedback. Please refer to contributing guidelines before participating.
Special thanks to:
- Hoping new contributors
Steps is released under the MIT license. See LICENSE for more information.

