我正在学习 swiftUI 导航堆栈,我试图在使用 .fullscreencover 呈现视图时实现自定义后退按钮,但我一直在尝试渲染后退按钮。
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))
}
请有人解释一下该怎么做,以便我可以学习并记录下来以供将来参考。提前致谢
我尝试注释掉 .navigationBarBackButtonHidden(true) 以查看默认工具栏是否会呈现,但它也不起作用
您缺少视图之外的导航。基本上你必须有一个NavigationBar,然后才能装饰它。添加以下代码: