0Pricing
SwiftUI Academy · Lección

ButtonStyle y LabelStyle

Cree estilos de controles reutilizables y de marca.

ButtonStyle y LabelStyle es una lección gratuita de SwiftUI Academy en CoddyKit. Esta es la lección 3 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.

Style Controls, Not Instances

Restyling every button by hand gets tedious. A ButtonStyle defines one branded look you reuse across the whole app. 🎨

The ButtonStyle Protocol

Conform a struct to ButtonStyle and implement makeBody. It receives a configuration and returns the styled button.

struct PrimaryStyle: ButtonStyle {
    func makeBody(configuration: Configuration) -> some View {
        configuration.label
    }
}

The label Inside Configuration

The configuration gives you the buttons label, which is the title or content. You decorate that label with padding and color.

configuration.label
    .padding()
    .background(.blue)

React to isPressed

Configuration also exposes isPressed. Use it to dim or scale the button while a finger is down for tactile feedback.

configuration.label
    .opacity(configuration.isPressed ? 0.6 : 1)

Apply with buttonStyle

Attach your style with the .buttonStyle modifier. Every button it touches adopts the same branded appearance.

Button("Save") { }
    .buttonStyle(PrimaryStyle())

Style a Whole Container

Set .buttonStyle on a stack and every button inside inherits it. One line styles a full group of controls.

Built-in Styles Exist Too

SwiftUI ships ready styles like .bordered and .borderedProminent. Reach for those before writing a custom one.

Button("Go") { }
    .buttonStyle(.borderedProminent)

Now Meet LabelStyle

A Label pairs text with an icon. A LabelStyle controls how that pair is arranged and shown.

Label("Home", systemImage: "house")

Title-Only or Icon-Only

Built-in label styles let you show just the title, just the icon, or both. Switch based on space without changing the call site.

Label("Home", systemImage: "house")
    .labelStyle(.iconOnly)

Custom LabelStyle

Conform to LabelStyle and implement makeBody to rearrange the icon and title yourself, like stacking them vertically.

func makeBody(configuration: Configuration) -> some View {
    VStack { configuration.icon; configuration.title }
}

One Definition, Many Buttons

Custom styles keep look and behavior in one place. Tweak the style and every button or label across the app updates together.

Quick Check

Quick check on control styles.

Recap: Reusable Control Looks

Use ButtonStyle and LabelStyle to define branded controls once. React to isPressed, rearrange labels, and apply the look everywhere. 🧠

Preguntas frecuentes

¿La lección «ButtonStyle y LabelStyle» es gratis?

Sí — el texto completo de «ButtonStyle y LabelStyle» 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 «ButtonStyle y LabelStyle»?

Cree estilos de controles reutilizables y de marca. 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 3 de 4.

¿Cuánto tiempo toma la lección «ButtonStyle y LabelStyle»?

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

  1. Extraer vistas reutilizables
  2. ViewModifiers personalizados
  3. ButtonStyle y LabelStyle
  4. ViewBuilder y contenedores genéricos
← Volver a SwiftUI Academy