Desactivar y activar botones
Controle la interactividad con el modificador disabled.
Desactivar y activar botones es una lección gratuita de SwiftUI Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SwiftUI Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SwiftUI Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Sometimes Tapping Should Wait
Not every button should always be tappable. A submit button might wait until a form is valid. SwiftUI handles this with the disabled modifier. 🚦
The disabled Modifier
Add disabled to any control and pass true or false. When true, the button stops responding to taps right away.
Button("Send") { send() }
.disabled(true)Driving It With a Condition
Instead of a fixed value, pass a condition. The button enables and disables itself as the underlying data changes.
Button("Send") { send() }
.disabled(message.isEmpty)Tied to State
Pair disabled with a state value and SwiftUI re-evaluates it on every change. The button reacts the moment your data updates.
@State private var name = ""
Button("Save") { save() }
.disabled(name.isEmpty)The Dimmed Look
A disabled button automatically appears dimmed. This visual cue tells people it is not ready yet, with no extra styling from you.
Validating a Form
A classic use is form validation: keep the action button off until every required field passes its check.
Button("Register") { register() }
.disabled(!isFormValid)Preventing Double Taps
During a slow task, disable the button so users cannot tap it again. Flip a loading flag while the work is running.
Button("Upload") { startUpload() }
.disabled(isLoading)Disabling a Whole Group
Apply disabled to a container and every control inside inherits it. One modifier can lock down an entire section at once.
VStack {
Button("A") { a() }
Button("B") { b() }
}
.disabled(isLocked)Children Cannot Re-enable
Once a parent is disabled, a child cannot turn itself back on. The most restrictive disabled value in the chain wins.
Disabled Still Communicates
A disabled button is not broken; it is honest. It signals that an action is unavailable right now, guiding users toward what to do first.
Enable by Flipping the Value
To re-enable, simply make the condition false again. Update the state it depends on and SwiftUI brings the button back to life.
Button("Confirm") { confirm() }
.disabled(!agreedToTerms)Quick Check
One last check on enabling and disabling.
Recap
Excellent! The disabled modifier locks a button based on a condition, dims it automatically, and re-enables when the value flips back. 🚦
Preguntas frecuentes
¿La lección «Desactivar y activar botones» es gratis?
Sí — el texto completo de «Desactivar y activar botones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SwiftUI Academy, actualiza a CoddyKit PRO. El curso de SwiftUI Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Desactivar y activar botones»?
Controle la interactividad con el modificador disabled. Practicas SwiftUI Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar SwiftUI Academy?
No se requiere experiencia previa. SwiftUI Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Desactivar y activar botones»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de SwiftUI Academy?
Sí. Cada lección de SwiftUI Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Creación de un botón pulsable
- Personalización de botones
- Ejecución de código al pulsar
- Desactivar y activar botones