[英]I'm having problem dismissing a modal view when calling it inside a navigation bar with SwiftUI
在导航栏中点击“显示模态”按钮,将显示模态。 但是,当点击“关闭”按钮时,模态永远不会显示。 如果刷模态,则不会发生错误。
import SwiftUI
struct ContentView: View {
@State var showModal = false
var body: some View {
NavigationView {
Text("Hello, World!")
.navigationBarItems(trailing: Button("Show Modal") {
self.showModal = true
})
}.sheet(isPresented: self.$showModal) {
Modal()
}
}
}
struct Modal: View {
@Environment(\.presentationMode) var mode
var body: some View {
NavigationView {
Text("Modal")
.navigationBarItems(leading: Button("Dismiss") {
self.mode.wrappedValue.dismiss()
})
}
}
}
您需要关闭showModal
状态。 这样的事情会起作用。 我合并了这两种视图以快速演示
import SwiftUI
struct ContentView: View {
@State var showModal = false
@Environment(\.presentationMode) var mode
var body: some View {
NavigationView {
Text("Hello, World!")
.navigationBarItems(trailing: Button("Show Modal") {
self.showModal.toggle()
})
}.sheet(isPresented: self.$showModal) {
NavigationView {
Text("Modal")
.navigationBarItems(leading: Button("Dismiss") {
self.showModal.toggle()
self.mode.wrappedValue.dismiss()
})
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.