SWIFTUI: SLIDER en Español #17
By SwiftBeta
Key Concepts
- Slider: Vista en Swift para seleccionar un valor dentro de un rango.
- State: Propiedad para almacenar y actualizar el valor seleccionado en el slider.
- Binding: Conexión entre la propiedad state y el valor del slider.
- Range: Define el valor mínimo y máximo que se puede seleccionar en el slider.
- Step: Incremento en el valor al mover el slider.
- Closure: Bloque de código que se ejecuta cuando el valor del slider cambia.
- Editing: Estado que indica si el usuario está interactuando con el slider.
- Label: Texto que describe el valor mínimo y máximo del slider.
Slider en Swift: Selección de Valores en un Rango
El video explica cómo implementar una vista Slider en Swift para permitir a los usuarios seleccionar un valor dentro de un rango definido. Se detalla el uso de diferentes inicializadores y parámetros para personalizar el comportamiento y la apariencia del slider.
Inicialización y Parámetros del Slider
Se utiliza el inicializador de Slider que acepta los siguientes parámetros:
value: Un valorBinding<Float>que representa el valor actual seleccionado en el slider. Este valor debe ser de tipoBinaryFloatingPoint.- Ejemplo: Se crea una propiedad
@StatellamadaiphoneCounterde tipoFloatcon un valor inicial de0.0. Esta propiedad se utiliza para enlazar el valor del slider.
- Ejemplo: Se crea una propiedad
in: UnClosedRange<Float>que define el rango de valores que el slider puede seleccionar.- Ejemplo: Se define un rango de
0...10para permitir la selección de un número de iPhones entre 0 y 10.
- Ejemplo: Se define un rango de
step: UnFloatque especifica el incremento en el valor al mover el slider.- Ejemplo: Se establece un
stepde1para que el valor cambie de uno en uno (0, 1, 2, ..., 10).
- Ejemplo: Se establece un
onEditingChanged: Un closure que se ejecuta cuando el usuario comienza o termina de interactuar con el slider. Recibe un valor booleano (truesi el usuario está interactuando,falsesi no).- Ejemplo: Se crea una propiedad
@Statellamadaeditingde tipoBool. Dentro del closureonEditingChanged, se actualiza el valor deeditingcon el valor booleano recibido.
- Ejemplo: Se crea una propiedad
minimumValueLabel: Una vista que se muestra a la izquierda del slider para indicar el valor mínimo.- Ejemplo: Se utiliza un
Textcon el valor "Min" para indicar el valor mínimo.
- Ejemplo: Se utiliza un
maximumValueLabel: Una vista que se muestra a la derecha del slider para indicar el valor máximo.- Ejemplo: Se utiliza un
Textcon el valor "Max" para indicar el valor máximo.
- Ejemplo: Se utiliza un
label: Una vista que proporciona información adicional sobre el slider. (No funciona en SwiftUI 2.0 debido a un bug conocido).- Ejemplo: Se intenta utilizar un
Textcon el valor "Selecciona un número de iPhones", pero no se muestra.
- Ejemplo: Se intenta utilizar un
Implementación Paso a Paso
- Crear una propiedad
@State: Se crea una propiedad@Statepara almacenar el valor seleccionado en el slider. Esta propiedad debe ser de tipoBinaryFloatingPoint(por ejemplo,FloatoDouble). - Inicializar el
Slider: Se inicializa la vistaSlidercon los parámetros deseados, incluyendo elvalue,in,step,onEditingChanged,minimumValueLabel,maximumValueLabelylabel. - Definir el rango: Se define el rango de valores que el slider puede seleccionar utilizando un
ClosedRange. - Especificar el incremento: Se especifica el incremento en el valor al mover el slider utilizando el parámetro
step. - Implementar el closure
onEditingChanged: Se implementa el closureonEditingChangedpara realizar acciones cuando el usuario comienza o termina de interactuar con el slider. - Añadir etiquetas: Se añaden etiquetas a la izquierda y a la derecha del slider para indicar el valor mínimo y máximo.
Estilo y Visualización
Para mejorar la apariencia del slider, se utiliza un Form para contener el slider y se crea un Text para mostrar el valor seleccionado. Se utiliza el modificador foregroundColor para cambiar el color del texto dependiendo del estado editing.
- Si
editingestrue(el usuario está interactuando con el slider), el texto se muestra en verde. - Si
editingesfalse(el usuario no está interactuando con el slider), el texto se muestra en negro.
Ejemplo de Código
import SwiftUI
struct ContentView: View {
@State private var iphoneCounter: Float = 0.0
@State private var editing: Bool = false
var body: some View {
Form {
Slider(
value: $iphoneCounter,
in: 0...10,
step: 1,
onEditingChanged: { isEditing in
editing = isEditing
},
minimumValueLabel: Text("Min"),
maximumValueLabel: Text("Max"),
label: { Text("Selecciona un número de iPhones") } // No funciona en SwiftUI 2.0
)
Text("\(iphoneCounter)")
.foregroundColor(editing ? .green : .black)
}
}
}
Conclusión
El video demuestra cómo implementar una vista Slider en Swift para permitir a los usuarios seleccionar un valor dentro de un rango definido. Se explican los diferentes parámetros y cómo utilizarlos para personalizar el comportamiento y la apariencia del slider. Se proporciona un ejemplo de código completo que muestra cómo implementar un slider con etiquetas y un texto que muestra el valor seleccionado.
Chat with this Video
AI-PoweredLoad the transcript when you're ready to chat so the initial page stays lighter.
Related Videos

Why Does This Guy Appear In Kids Videos?
sphynx

TIC en las Organizaciones - Electiva Complementaria II Unisimon
Julieth Güell S

How to Tame Your Advice Monster | Michael Bungay Stanier | TED
TED

Margaret Heffernan: Why it's time to forget the pecking order at work
TED

The importance of psychological safety: Amy Edmondson
The King's Fund

What Is Psychological Safety?
Harvard Business Review

13-Conflict Management: Listening in Conflict
Deliberate Development