Мне кажется, что это легко, но я не могу найти функцию для ее обновления.
Вопрос заключается в следующем: когда я нажимаю кнопку, чтобы изменить цвет изображения или заменить его другим изображением, я пробовал несколько способов в кнопке действие, но цвет по-прежнему не изменяется.
Нажмите кнопку, чтобы изменить цвет изображения или заменить его другим изображением
import SwiftUI
struct stackStar: View {
@State var starStauts = [true, false, false]
var body: some View {
VStack {
Text("Click to add star")
HStack {
star(finished: starStauts[0])
.padding(10)
star(finished: starStauts[1])
.padding(10)
star(finished: starStauts[2])
.padding(10)
}
Button(action: {
self.starStauts[0] = true
// star(finished: self.starStauts[0])
}) {
Image(systemName: "play.fill")
.foregroundColor(Color.blue)
.padding(10)
}
}
}
}
struct stackStar_Previews: PreviewProvider {
static var previews: some View {
stackStar()
}
}
struct star: View {
let finished: Bool
var body: some View {
Group{
if finished {
VStack {
Image(systemName: "star.fill")
.foregroundColor(Color.yellow)
}
}
else{
VStack {
Image(systemName: "star.fill")
.foregroundColor(Color.gray)
}
}
}
}
}