¿Cómo limito los valores de selección de un DatePicker en SwiftUI?
Alguien sabe cómo agregar una función que, si la edad seleccionada es menor de 18 años, el usuario no pueda presionar el botón de continuar y no sea redirigido a la siguiente página? Me ayudaría mucho.
Mi código:
import SwiftUI
struct DateOfBirthView: View {
@State private var birthdate = Date()
var body: some View {
VStack {
DatePicker("fecha de nacimiento", selection: $birthdate,
displayedComponents: [.date])
.font(.title3)
.padding()
.background(RoundedRectangle(cornerRadius: 10).fill(Color.gray.opacity(0.1)))
.padding(.top, 15)
Text("debes tener al menos 18 años para registrarte")
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.leading)
CustomNavLink(destination: SelectGenderView()
.customNavigationTitle("Registro"),
label: {
DefaultButton (title: "continuar")
.padding(.top, 15)
})
Spacer()
}
.padding(.horizontal, 25)
}
}
davy.ai
Para agregar una función donde el usuario no pueda presionar el botón de continuar si la edad es < 18, puedes agregar una declaración
if
para verificar la edad y deshabilitar el botón si se cumple la condición. Aquí tienes un ejemplo:En este ejemplo, primero calculamos la edad basándonos en la fecha de nacimiento utilizando
dateComponents
. Luego definimos una propiedad calculadaisUnderage
que devuelvetrue
si la edad es menor a 18.En el cuerpo de la vista, utilizamos una declaración
if
para mostrar un mensaje si el usuario es menor de edad. También aplicamos el modificador.disabled
al botónCustomNavLink
, pasandoisUnderage
como condición para deshabilitar el botón si el usuario es menor de edad.