I have a TabView with two tabItems (which are both NavigationViews). I want to have a navigationBarItem on each tab that will push a sheet on top of the TabView. However, whenever I present the sheet, it seems to set my selection to 0.
import SwiftUI
struct SheetTest: View {
@State var selection = 0
@State var showSheet = false
var body: some View {
TabView(selection: $selection) {
NavigationView {
Text("Tab 1")
.navigationBarItems(trailing: button)
}.navigationViewStyle(StackNavigationViewStyle())
.tabItem({
Image(systemName: "1.circle")
Text("Tab 1")
})
NavigationView {
Text("Tab 2")
.navigationBarItems(trailing: button)
}.navigationViewStyle(StackNavigationViewStyle())
.tabItem({
Image(systemName: "2.circle")
Text("Tab 2")
})
}
.sheet(isPresented: $showSheet) {
Text("Sheet")
}
}
var button: some View {
return Button(action: {
showSheet = true
}, label: {
Text("button")
})
}
}
struct SheetTest_Previews: PreviewProvider {
static var previews: some View {
SheetTest()
}
}