有没有一种方法可以在SwiftUI中不使用动画解除模态视图?
我想要解除模态视图但不想要其解除动画,因为我打算通过视图路由从模态视图导航到一个新的SwiftUI视图。一切正常运作,唯独过渡动画从模态视图到全屏视图时出现了问题。我按照该教程创建了一个视图路由:教程
我正在使用以下代码片段来展示模态视图:
struct ContentView: View {
@State private var showModal = false
@Environment(\.presentationMode) var presentationMode
var body: some View {
Button(action: {
self.showModal = true
}) {
Text("Show modal")
}.sheet(isPresented: self.$showModal) {
ModalView()
}
}
}
struct ModalView: View {
@EnvironmentObject var viewRouter: ViewRouter
var body: some View {
Group {
Text("Modal view")
Button(action: {
self.viewRouter.currentPage = "New View"
}) {
Text("Dismiss")
}
}
}
}
以下是Swift的解决方案:Swift解决方案