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 协议的结构体。
内置的样式有 automaticcircularlinear

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")
        }
    }
}
Back to Blog

相关文章

阅读更多 »

SwiftUI #21:组

什么是 Group?Group 将多个视图聚合在一起,以避免 Stack 的子视图限制(最大 10),并允许对多个视图应用样式。

SwiftUI #20: 优先级

介绍 在 SwiftUI 中,Stack 会在其视图之间等距划分空间。如果视图放不下,它会为 Image 分配固定大小并进行缩减……