我正在努力做到这一点,以便当我单击一个按钮(属于其他按钮的列表的一部分)时,被单击按钮的图像从“ star”更改为“ star.fill”。请帮助!
ForEach(pies, id: \.self) { pie in
Button(action: {
// some action
}) {
HStack {
Image(systemName: "star")
Text(pie)
Spacer()
}
}
您可以使用@State
变量来存储图像名称,并在单击按钮时对其进行更改:
@State var imageName: String = "star"
ForEach(pies, id: \.self) { pie in
Button(action: {
self.imageName = "star.fill"
}) {
HStack {
Image(systemName: imageName)
Text(pie)
Spacer()
}
}