Ligazóns ($
) e property wrappers #
Para ver como funciona un TextField
é imprescindible coñecer as ligazóns ($
) e os property wrappers que implementa SwiftUI e que se ven no seguinte tema.
Button #
Un Button
é unha vista de SwiftUI que permite realizar accións ao tocalo. Podes envolver calquera vista (View
) nun Button
para facer que esa vista sexa interactiva.
A vista Button
ten varios construtores que podemos empregar, pero o máis usado é o construtor que ten os seguintes 2 parámetros:
action:
É un peche que empregaramos para indicar que acción vamos a levar a cabo cando pulsemos non botón.label:
É un peche que devolve unha vista. Esa vista (View
) é a que visualizamos e onde temos que facer clic para executar a acción anterior.
Aquí tes un exemplo básico de como usar un Button
en SwiftUI:
struct ProbasView: View {
@State var contador = 0
var body: some View {
VStack {
Text("Contador = \(contador)")
Button {
contador += 1
} label: {
Text("Botón 1 - Incrementa contador")
}
Button {
incrementaContador()
} label: {
Text("Botón 2 - Incrementa contador")
}
Button {
contador += 1
} label: {
HStack {
Image(systemName: "plus.app")
Text("Botón 3 - Incrementa contador")
}
}
}
}
func incrementaContador() {
contador += 1
}
}
Neste exemplo, créase:
- Unha vista
Text
onde visualizamos a variable@State contador
- Unha vista
Button
que se chama cos seguintes parámetros:action:
A acción que executamos é incrementar a variable@State contador
en 1label:
O botón está composto polo texto «Botón 1 – Incrementa contador», que é onde temos que pinchar para executar a acción anterior.
- Unha vista
Button
que se chama cos seguintes parámetros:action:
A acción que executamos é chamar ao métodoincrementaContador()
label:
O botón está composto texto «Botón 2 – Incrementa contador», que é onde temos que pinchar para executar a acción anterior.
- Unha vista
Button
que se chama cos seguintes parámetros:action:
A acción que executamos é incrementar a variable@State contador
en 1label:
O botón, nesta ocasión, está composto por unha vistaHStack
que contén unha imaxe e un texto «Botón 1 – Incrementa contador», que é onde temos que pinchar para executar a acción anterior.
Con cada pulsación en calquera do tres botóns, se incrementa a propiedade @State contador
, e, á súa vez, ao implementar o property wrapper State
, facemos que SwiftUI volva a renderizar as vistas asociadas á propiedade @State contador
.