SwiftUI #32:ProgressView
发布: (2026年1月17日 GMT+8 07:06)
1 min read
原文: Dev.to
Source: Dev.to
Overview
ProgressView 创建一个进度条。
初始化器 init(_:value:total:) 将标签作为第一个参数。value 表示当前进度,total 表示最终值(默认范围是 0.0 到 1.0)。
Uso básico
struct ContentView: View {
@State private var progress = 0.1
var body: some View {
VStack {
ProgressView(value: progress)
Button("More") { progress += 0.05 }
}
}
}
Estilos
你可以使用 progressViewStyle(_:) 来定义进度条的样式,它接受一个符合 ProgressViewStyle 协议的结构体。
内置的样式有 automatic、circular 和 linear。
Indicador de actividad
如果不向 ProgressView 传递参数,它会显示一个“activity‑indicator”:
struct ContentView: View {
var body: some View {
ProgressView()
}
}
Intervalo de temporizador
init(timerInterval:countsDown:) 创建一个 ProgressView,它接受一个日期范围并自动启动计时器。
struct ContentView: View {
let workoutDateRange = Date()...Date().addingTimeInterval(5 * 60)
var body: some View {
ProgressView(timerInterval: workoutDateRange) {
Text("Workout")
}
}
}