以下是如何创建分段控件并从中读取值的示例:
struct ContentView: View {
var colors = ["Red", "Green", "Blue"]
@State private var selectedColorIndex = 0
var body: some View {
VStack {
Picker(selection: $selectedColorIndex, label: Text("Color")) {
ForEach(0 ..< colors.count) {
Text(self.colors[$0]).tag($0)
}
}.pickerStyle(SegmentedPickerStyle())
Text("Selected color: \(colors[selectedColorIndex])")
}
}
}
在这个例子中,我们首先定义了一个包含颜色名称的数组,并声明了一个@State
变量来存储用户选择的颜色索引。
接下来,在body
属性中,我们创建了一个Picker
控件,并将其绑定到selectedColorIndex
变量,以便在用户选择变化时更新它。我们还设置了一个标签,用于在控件上方显示。
最后,我们使用pickerStyle
函数将控件样式设置为“分段控件(Segmented Picker)”。
要获取所选颜色的实际名称,我们可以使用colors[selectedColorIndex]
,并在视图中显示它。