【发布时间】:2020-09-27 19:37:41
【问题描述】:
有没有办法在 SwiftUI 中关闭没有动画的模态视图?
我想在没有关闭动画的情况下关闭模式,因为我想使用视图路由器从模式视图导航到新的 SwiftUI 视图。一切正常,除了从模态视图到新全屏视图的过渡动画。我按照该教程创建了一个视图路由器:Tutorial
我正在使用该代码 sn-p 来呈现模态视图:
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 solution
【问题讨论】:
标签: ios swift modal-dialog swiftui