Broken NavigationView Layout SwiftUI on TabView and TabViewStyle set to .page

Viewed 73

I have the following code

enum Tab {
  case accounts, lootbox
}

struct ContentView: View {
    @State private var currentTab:Tab = .lootbox
    
    var body: some View {
            TabView(selection: $currentTab){
                AccountView()
                    .tabItem {
                        Label("Accounts", systemImage: "person.crop.circle")
                    }
                    .tag(Tab.accounts)
                Lootbox()
                    .tabItem {
                        Label("Lootbox", systemImage: "shippingbox")
                    }
                    .tag(Tab.lootbox)
            }
            .tabViewStyle(.page)
    }
}

struct AccountView: View {
    var body: some View {
        NavigationView{
            VStack{
                Text("AccountView")
                Spacer()
            .navigationTitle("Lootbox")
           }
        }
       .navigationViewStyle(.stack)
    }
}

struct Lootbox: View {
    var body: some View {
        NavigationView{
            VStack{
                Text("Lootbox")
                Spacer()
            }
         .navigationTitle("Lootbox")
        }
        .navigationViewStyle(.stack)
    }
}

The VStackhides behind the navigation view title. After swiping right and left, it is as expected. Why is that? Or is this a bug of SwiftUI?

Before swipe left and right:

enter image description here

After (how it should be):

enter image description here

0 Answers
Related