estou aprendendo sobre a pilha de navegação swiftUI, estou tentando implementar um botão Voltar personalizado ao apresentar uma visualização usando .fullscreencover, mas estou preso tentando renderizar o botão Voltar.
import SwiftUI
struct navigation1: View {
@Binding var isPresented: Bool
var backButtonPlacement: ToolbarItemPlacement {
#if os(iOS)
ToolbarItemPlacement.navigationBarLeading
#else
ToolbarItemPlacement.navigation
#endif
}
var body: some View {
ZStack {
Color(.yellow)
VStack{
Text("First Page")
.font(/*@START_MENU_TOKEN@*/.title/*@END_MENU_TOKEN@*/)
}
}
.navigationTitle("page 1")
.navigationBarBackButtonHidden(true)
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Button {
isPresented = false
} label: {
Image(systemName: "arrow.backward.circle.fill")
.symbolVariant(.circle.fill)
.font(.title)
.foregroundStyle(.black)
}
}
}
.ignoresSafeArea(.all)
.frame(width: .infinity)
}
}
#Preview {
navigation1(isPresented: .constant(true))
}
Alguém pode explicar o que fazer para que eu possa aprender e anotar para referências futuras. desde já, obrigado
tentei comentar .navigationBarBackButtonHidden(true) para ver se a barra de ferramentas padrão seria renderizada, mas também não funcionou
Está faltando navegação fora da visualização. Basicamente você deve ter uma NavigationBar antes de decorá-la. Adicione o código abaixo: