【问题标题】:How can i show UIViewControllerRepresentable screen on button tap from UIViewRepresentable如何在 UIViewRepresentable 的按钮点击上显示 UIViewControllerRepresentable 屏幕
【发布时间】:2021-09-29 13:27:42
【问题描述】:

我正在开发一个 SwiftUI 项目,在我的应用程序中我必须显示地图,我可以使用 UIViewRepresentable 显示地图,现在地图视图将有一个按钮,点击该按钮地图视图将需要显示控制器(全屏方向)视图,我知道我可以使用 UIViewControllerRepresentable 来做到这一点。

我需要帮助,我如何通过点击 UIViewRepresentable 的按钮来显示 UIViewControllerRepresentable

到目前为止,我所做的是添加我的代码:

单击按钮时,我正在调用 showDetailMap 函数,该函数调用了 MapDetailViewController ,但某些 MapDetailViewController 未作为模型打开。

private func showDetailMap() {
    MapDetailViewController()
}

struct MapDetailViewController: UIViewControllerRepresentable {

func makeUIViewController(context: Context) -> MapDetailViewController {
    let viewController: MapDetailViewController = MapDetailViewController()
    return viewController
}

func updateUIViewController(_ uiViewController: MapDetailViewController, context: Context) {}


}

请帮帮我。

【问题讨论】:

    标签: ios swiftui uiviewcontrollerrepresentable


    【解决方案1】:
        struct ContentView: View {
        
         @State var isPresentVC = false
        
         var body: some View {
         
               ZStack {
                    Button("OpenMapVC") {
                        isPresentVC = true
                    }
                    
                }.fullScreenCover(isPresented: $isPresentVC, content: {
                   MapDetailViewController()
                })
           }
      }
    

    【讨论】:

    • 谢谢您的回复,我可以按要求做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    相关资源
    最近更新 更多