Posteriormente a consultar con especialistas en el tema, programadores de diversas ramas y profesores dimos con la solución al dilema y la dejamos plasmada en este post.
Solución:
Para hacer esto, debe dar el color según el estado cambiado:
struct CustomButton: View
@State private var didTap:Bool = false
var body: some View
Button(action:
self.didTap = true
)
Text("My custom button")
.font(.system(size: 24))
.frame(width: 300, height: 75, alignment: .center)
.padding(.all, 20)
.background(didTap ? Color.blue : Color.yellow)
PD: Si también desea administrar otros estados, puede optar por el enum
.
En caso de que alguien quisiera una forma diferente de hacer esto. Sirve para más colores.
struct CustomButton: View
@State private var buttonBackColor:Color = .yellow
var body: some View
Button(action:
//This changes colors to three different colors.
//Just in case you wanted more than two colors.
if (self.buttonBackColor == .yellow)
self.buttonBackColor = .blue
else if self.buttonBackColor == .blue
self.buttonBackColor = .green
else
self.buttonBackColor = .yellow
//Same code using switch
/*
switch self.buttonBackColor
case .yellow:
self.buttonBackColor = .blue
case .blue:
self.buttonBackColor = .green
default:
self.buttonBackColor = .yellow
*/
)
Text("My custom button")
.font(.system(size: 24))
.frame(width: 300, height: 75, alignment: .center)
.padding(.all, 20)
.background(buttonBackColor)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)