Swift 如果通过滑动取消返回上一屏幕的过程,导航栏将保持不变而不会消失
使用navigationBarItems从视图中刷卡、取消刷卡并返回上一屏幕时,上一屏幕上的navigationBar保持不变而不消失 这是虫子吗 还是我的实现错了 你可以检查这种现象Swift 如果通过滑动取消返回上一屏幕的过程,导航栏将保持不变而不会消失,swift,swiftui,Swift,Swiftui,使用navigationBarItems从视图中刷卡、取消刷卡并返回上一屏幕时,上一屏幕上的navigationBar保持不变而不消失 这是虫子吗 还是我的实现错了 你可以检查这种现象 struct-TopView:View{ var body:一些观点{ 导航视图{ VStack{ NavigationLink(目标:DetailView()){ 文本(“细节”) } } .navigationBarTitle(“顶部”) } } } 结构详细视图:视图{ var body:一些观点{ VSt
struct-TopView:View{
var body:一些观点{
导航视图{
VStack{
NavigationLink(目标:DetailView()){
文本(“细节”)
}
}
.navigationBarTitle(“顶部”)
}
}
}
结构详细视图:视图{
var body:一些观点{
VStack{
NavigationLink(目标:EditView()){
文本(“编辑”)
}
}
.navigationBarTitle(“详细信息”,显示模式:。内联)
}
}
结构编辑视图:视图{
@环境(\.presentationMode)私有变量presentationMode:绑定
var body:一些观点{
VStack{
文本(“标题”)
}
.navigationBarTitle(“编辑”,显示模式:。内联)
.航海术语(
尾随:
按钮(操作:{
self.presentationMode.wrappedValue.discouse()文件
}) {
文本(“保存”)
}
)
}
}
@环境(.PresentationMode)私有变量PresentationMode:
装订
如果这不存在,它就不会发生。这里是修复方法
struct DetailView: View {
var body: some View {
VStack {
NavigationLink(destination: EditView()) {
Text("Edit")
}.isDetailLink(false) // << here !!
}
.navigationBarTitle("Detail", displayMode: .inline)
}
}
struct DetailView:View{
var body:一些观点{
VStack{
NavigationLink(目标:EditView()){
文本(“编辑”)
}.isDetailLink(错误)//
struct DetailView: View {
var body: some View {
VStack {
NavigationLink(destination: EditView()) {
Text("Edit")
}.isDetailLink(false) // << here !!
}
.navigationBarTitle("Detail", displayMode: .inline)
}
}