SwiftUI #32: ProgressView

Published: (January 16, 2026 at 06:06 PM EST)
1 min read
Source: Dev.to

Source: Dev.to

Overview

ProgressView crea una barra de progreso.
El inicializador init(_:value:total:) recibe una etiqueta como primer argumento. value indica el progreso actual y total indica el valor final (por defecto el rango es de 0.0 a 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

Puedes definir el estilo de la barra de progreso con progressViewStyle(_:), que recibe una estructura que conforma el protocolo ProgressViewStyle.
Los estilos incorporados son automatic, circular y linear.

Indicador de actividad

Si no se pasan argumentos al ProgressView, se muestra un “activity‑indicator”:

struct ContentView: View {
    var body: some View {
        ProgressView()
    }
}

Intervalo de temporizador

init(timerInterval:countsDown:) crea un ProgressView que recibe un rango de fechas y activa un temporizador automáticamente.

struct ContentView: View {
    let workoutDateRange = Date()...Date().addingTimeInterval(5 * 60)

    var body: some View {
        ProgressView(timerInterval: workoutDateRange) {
            Text("Workout")
        }
    }
}
Back to Blog

Related posts

Read more »

SwiftUI #25: Estado (@State)

El paradigma declarativo No solo se trata de cómo organizar las vistas, sino de que cada vez que cambia el estado de la aplicación, las vistas deben actualizar...

SwiftUI #21: Groups

¿Qué es un Group? Un Group agrupa varias vistas juntas para evitar el límite de sub‑vistas que tiene un Stack máximo 10 y permite aplicar estilos a varias vist...

SwiftUI #20: Prioridades

Introducción En SwiftUI, un Stack divide el espacio de forma equidistante entre sus vistas. Si las vistas no caben, asigna un tamaño fijo a los Image y reduce...