SwiftUI-如何在点击时更改按钮的图像?

问题描述 投票:0回答:1

我正在努力做到这一点,以便当我单击一个按钮(属于其他按钮的列表的一部分)时,被单击按钮的图像从“ star”更改为“ star.fill”。请帮助!

ForEach(pies, id: \.self) { pie in
      Button(action: {
          // some action
       }) {
       HStack {
           Image(systemName: "star")
           Text(pie)
           Spacer()
       }
}
swift button swiftui
1个回答
0
投票

您可以使用@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()
       }
}
© www.soinside.com 2019 - 2024. All rights reserved.