diegoRodicio

Está documentación está a túa disposición sin ningún custo económico. Sen embargo, para a súa elaboración dedico moito tempo e recursos, polo que agradecería unha colaboración co que consideres oportuno. Gracias.

Property wrappers #

Para ver como funciona un Toggle é imprescindible coñecer os property wrappers que implementa SwiftUI e que se ven no seguinte tema.

Toggle #

Un Toggle é un componente que permite cambiar entre dous estados, xeralmente representados como «activado» ou «desactivado».

A continuación, proporciono un exemplo simple de como usar Toggle en SwiftUI:

Exemplo #

Neste exemplo:

  • Declárase unha propiedade de estado (@State) chamada estadoToggle para rastrexar o estado do Toggle.
  • O Toggle créase co texto «Estado do interruptor» e está vinculado ao estado estadoToggle mediante o modificador isOn.
  • Amósase un texto que reflicte o estado actual do Toggle («Activado» ou «Desactivado»).

Cando executas esta vista, verás un interruptor que os/as usuarios/as poden activar ou desactivar. O texto debaixo do interruptor reflicte o estado actual do Toggle.

struct ToggleViewExemplo: View {
    @State var estadoToggle = false
    
    var body: some View {
        VStack {
            Toggle("Estado do interruptor", isOn: $estadoToggle)
                .padding()
            Text("Estado actual: \(estadoToggle ? "Activado" : "Desactivado")")
                .padding()
        }
    }
}

Outro exemplo #

No seguinte exemplo:

  • Unha vista Toogle establece unha ligazón á propiedade booleana @State wifiOn para usar como almacenamento para activar ou desactivar unha wifi.
  • Cando a propiedade @State wifiOn == true: Visualizamos unha Image dun wifi activado
  • Cando a propiedade @State wifiOn == false: Visualizamos unha Image dun wifi desactivado
struct ToggleViewExemplo2: View {
    @State private var wifiOn = false

    var body: some View {
        VStack {
            
            Toggle(isOn: $wifiOn) {
                Text("Pulsa para activar a WIFI:")
            }
            
            if(wifiOn) {
                Image(systemName: "wifi")
            }
            else {
                Image(systemName: "wifi.slash")
            }
        }
    }
}

Share Your Valuable Opinions