Steps 是一个用于指导用户完成任务步骤的导航栏。当某个任务复杂或具有一系列子任务的特定顺序时,我们需要将其分解成几个步骤以简化操作。
需求
- iOS 10.0+ / tvOS 9.0+ / macOS 10.10+ / Ubuntu 14.04+
- Swift 5.0+
安装
Swift 包管理器
您可以使用 Swift 包管理器 通过向您的 Package.swift 文件添加适当的描述来安装 Steps
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
targets: [],
dependencies: [
.package(url: "https://github.com/asam139/Steps.git", from: "0.2.0")
]
)
然后,将 Steps
添加到您的目标依赖项中,如下所示
.target(
name: "YOUR_TARGET_NAME",
dependencies: [
"Steps",
]
),
然后运行 swift package update
。
手动
将 Steps 项目添加到您的 Xcode 项目中
示例
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()
}
}
参与进来
我们欢迎您的反馈。在参与之前,请参阅贡献指南。
感谢
特别感谢
- 希望新的贡献者加入
许可协议
Steps 采用 MIT 许可协议发布。更多信息请参阅 LICENSE。