Swiftui 在选择器中选择选项卡时显示新视图
我有一个具有3个值的选择器。如何根据选择器选项卡的选择显示某些信息Swiftui 在选择器中选择选项卡时显示新视图,swiftui,picker,Swiftui,Picker,我有一个具有3个值的选择器。如何根据选择器选项卡的选择显示某些信息 @State var tabSelectedValue = 0 var body: some View{ VStack { Picker(selection: $tabSelectedValue, label: Text("")) { Text("A").tag(0) Text("B")
@State var tabSelectedValue = 0
var body: some View{
VStack {
Picker(selection: $tabSelectedValue, label: Text("")) {
Text("A").tag(0)
Text("B").tag(1)
Text("C").tag(2)
}.pickerStyle(SegmentedPickerStyle())
}
}
或者您可以与TabView一起使用
struct ContentView: View {
@State var tabSelectedValue = 0
var body: some View{
VStack {
Picker(selection: $tabSelectedValue, label: Text("")) {
Text("A").tag(0)
Text("B").tag(1)
Text("C").tag(2)
}.pickerStyle(SegmentedPickerStyle())
TabView(selection: $tabSelectedValue,
content: {
Text("A Tab Content").tag(0)
Text("B Tab Content").tag(1)
Text("C Tab Content").tag(2)
})
.tabViewStyle(PageTabViewStyle())
}
}
}
结构选择器数据视图:视图{
变量数据:字符串
var body:一些观点{
文本(“选择器日期\(数据)”)
}
}
结构ContentView:View{
@状态私有变量tabSelectedValue=0
私有变量pickerData:[字符串]=[“A”、“B”、“C”]
var body:一些观点{
VStack{
pickerData视图(数据:“\(pickerData[tabSelectedValue]))
选择器(选择:$tabSelectedValue,标签:文本(“”){
ForEach(0..
非常感谢您提供的示例代码
struct ContentView: View {
@State var tabSelectedValue = 0
var body: some View{
VStack {
Picker(selection: $tabSelectedValue, label: Text("")) {
Text("A").tag(0)
Text("B").tag(1)
Text("C").tag(2)
}.pickerStyle(SegmentedPickerStyle())
TabView(selection: $tabSelectedValue,
content: {
Text("A Tab Content").tag(0)
Text("B Tab Content").tag(1)
Text("C Tab Content").tag(2)
})
.tabViewStyle(PageTabViewStyle())
}
}
}
struct PickerDataView: View {
var data: String
var body: some View {
Text("Picker Date \(data)")
}
}
struct ContentView: View {
@State private var tabSelectedValue = 0
private var pickerData: [String] = ["A", "B", "C"]
var body: some View {
VStack {
PickerDataView(data: "\(pickerData[tabSelectedValue])")
Picker(selection: $tabSelectedValue, label: Text("")) {
ForEach(0 ..< pickerData.count) {
Text(pickerData[$0]).tag($0)
}
}.pickerStyle(SegmentedPickerStyle())
}
}
}