NavigationStack para iOS 16 (antigo NavigationView)

Apr 26 2023
Se seu aplicativo tiver um destino de implantação mínimo de iOS 16, iPadOS 16, macOS 13, tvOS 16 ou watchOS 9 ou posterior, faça a transição do NavigationView. Em seu lugar, use as instâncias NavigationStack e NavigationSplitView.

Se seu aplicativo tiver um destino de implantação mínimo de iOS 16, iPadOS 16, macOS 13, tvOS 16 ou watchOS 9 ou posterior, faça a transição de usar NavigationView. Em seu lugar, uso NavigationStacke NavigationSplitViewinstâncias.

Quando você rola para baixo no ScrollView, a barra de status é sobreposta ao conteúdo.

Para evitar a sobreposição de conteúdo e barra de status, preciso adicionar navegação na parte superior. Após a atualização de 2022, NavigationView está fazendo a transição para NavigationStack e NavigationSplitView.

Uma maneira simples de trazer a barra de navegação usando NavigationStack é,

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationStack {
            ScrollView {
                Text("The area is...")
            }
        }
        .navigationTitle("Navigation")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
//This is just for the preview
        NavigationStack { 
            ContentView()
        }
    }
}

Mas o problema que tive é: e se eu não quiser nenhum título de navegação.

Parece que estava funcionando bem sem nenhum título para o NavigationView anterior do exemplo do tutorial abaixo.

Além disso, NavigationStack não estava funcionando ao adicioná-lo em ContentView.

Eu verifiquei que finalmente é mostrado depois que eu o escrevi no App também.

import SwiftUI

@main
struct TrekrApp: App {
    var body: some Scene {
        WindowGroup {
            NavigationStack {
                ContentView()
            }
        }
    }
}