DEV Community

GoyesDev
GoyesDev

Posted on

SwiftUI #32: ProgressView

ProgressView crea un barra de progreso.

  • init(_:value:total:): El primer argumento es una etiqueta. value indica el progreso actual. progress indica el valor final (por defecto va de 0.0 a 1.0).
struct ContentView: View {
  @State private var progress = 0.1
  var body: some View {
    VStack {
      ProgressView(value: progress)
      Button("More") { progress += 0.05 }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Estilo del ProgressView

Se puede definir el estilo de la barra de progreso con progressViewStyle(_:) que recibe una estructura que conforma el protocolo ProgressViewStyle. Por defecto, vienen las propiedades automatic, circular y linear.

Indicador de actividad

Si no se pasan argumentos al ProgressView, se crea un "activity-indicator":

struct ContentView: View {
  var body: some View {
      ProgressView()
  }
}
Enter fullscreen mode Exit fullscreen mode

Barra de progreso con temporizador automático

init(timerInterval:countsDown:) sirve para crear 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")
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)