我有一个相当广泛的项目,我从 UIKit 开始,现在我决定使用 SwiftUI 来制作一些简单的表单页面,但我需要在 SwiftUI 中制作一个按钮来关闭当前 View ,该 View 显示为以下代码:

   func goToSchedule() {
        let vc = UIHostingController(rootView: ScheduleView())
        if let topController = UIApplication.topViewController() {
            topController.present(vc, animated: true, completion: nil)
        }
    }

最佳答案

如果我正确理解了代码快照,那么 .topViewController() 将在 UIHostingViewConroller 显示时呈现 ScheduleView,所以它应该像

var body: some View {
    // ...
    // somewhere ...

    Button("Close") {
        if let topController = UIApplication.topViewController() {
            topController.dismiss(animated: true)
        }
    }
}

关于swiftui - 如何制作一个关闭使用 UIHostingController/SwiftUI 呈现的 View 的按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59597064/

10-13 06:35