如何使用SwiftUI中的视图列表仅实现与一组单选按钮相似的单个选择?
按下按钮时,可以存储为其选择的值。
您可以根据选择的样式来设置按钮的样式。
以下代码可以满足您的需求。上一次按下哪个按钮都将被选中,并且只有选定的按钮才会是蓝色,因为样式是基于属性的。然后另一个按钮清除选择。
struct ContentView: View { let buttons = ["A", "B", "C"] @State public var buttonSelected: Int? var body: some View { VStack(spacing: 20) { ForEach(0..<buttons.count) { button in Button(action: { self.buttonSelected = button }) { Text("Button \(self.buttons[button])") .padding() .foregroundColor(.white) .background(self.buttonSelected == button ? Color.blue: Color.green) .clipShape(Capsule()) } } Button(action: { self.buttonSelected = nil }) { Text("Clear Selection") .foregroundColor(.blue) } } } }
按下按钮时,可以存储为其选择的值。
您可以根据选择的样式来设置按钮的样式。
以下代码可以满足您的需求。上一次按下哪个按钮都将被选中,并且只有选定的按钮才会是蓝色,因为样式是基于属性的。然后另一个按钮清除选择。