列出带有按钮的行 onTapGesture

List rows with buttons onTapGesture

我有一个 List,有一些 row 和一些 Button。我想为每个按钮播放不同的声音。

struct ContentView: View  {
let rows = Row.all()

var body: some View {
    List {
    
        ForEach(rows) { row in
            HStack(alignment: .bottom) {
                ForEach(row.cells) { cell in
                    Button(
                        Image(cell.imageURL)
                            .resizable()
                            .scaledToFit()
                        )
                        .onTapGesture {
                            //playAudioAsset(cell.imageURL + "Sound")
                            print(cell.imageURL)
                        }
                }
                    .buttonStyle(PlainButtonStyle())
                    }
                }
            }.padding(EdgeInsets.init(top: 0, leading: -20, bottom: 0, trailing: -20))
        }
        }

即使是这个简单的 print 也行不通。 :(

a Button 不需要 .onTapGesture,它包含在一个按钮中。 Read-up 关于如何使用 Button,并试试这个:

Button(action: {
    //playAudioAsset(cell.imageURL + "Sound")
    print(cell.imageURL)
}){
    Image(cell.imageURL)
        .resizable()
        .scaledToFit()
}