从任何类或结构中模态显示 SwiftUI 视图的最佳方式是什么?我使用 UIKit 中的 UIHostingController。有没有更好的方法只使用 SwiftUI 来做到这一点?
带有用于呈现 SwiftUI 视图的按钮的 ContentView
struct ContentView: View {
var body: some View {
Button {
// Present the view
presentView(controller: UIHostingController(rootView: view))
} label: {
Text("Present view")
}
}
var view: some View {
Button {
// Dismiss the view
dismissView()
} label: {
Rectangle()
.overlay(
Text("Dismiss view")
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
用于呈现 SwiftUI 视图的函数
extension ContentView {
// Returns the top view controller
func topViewController() -> UIViewController? {
let keyWindow = …Run Code Online (Sandbox Code Playgroud)