我目前正在使用SwiftUI开发一个应用程序。
这个应用程序有两个视图控制一个Tab视图。
我想得到一个在TabView中选择哪个视图的值。
有什么办法吗?
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
TabView {
FirstView()
.tabItem {
Text("First")
}.tag(1)
SecondView()
.tabItem {
Text("Second")
}.tag(2)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}FirstView.swift
import SwiftUI
struct FirstView: View {
var body: some View {
Text("FirstView")
}
}
struct FirstView_Previews: PreviewProvider {
static var previews: some View {
FirstView()
}
}SecondView.swift
import SwiftUI
struct SecondView: View {
var body: some View {
Text("SecondView")
}
}
struct SecondView_Previews: PreviewProvider {
static var previews: some View {
SecondView()
}
}Xcode: 11.7版
Swift: Swift 5
发布于 2020-09-07 07:41:07
您需要使用选择,如下所示
注意:选择应该与标记使用的类型相同(并使用相应的标记值以编程方式选择特定的选项卡)
struct ContentView: View {
@State private var selectedTab = 1 // default selection
var body: some View {
TabView(selection: $selectedTab) { // << here !!
FirstView()
.tabItem {
Text("First")
}.tag(1)
SecondView()
.tabItem {
Text("Second")
}.tag(2)
}
}
}https://stackoverflow.com/questions/63772932
复制相似问题