SwiftUI NavigationView中的UIViewRepresentable问题

时间:2019-08-03 09:33:45

标签: ios swift swiftui xcode11

这是我的ContentView.swift文件:

struct ContentView: View {
    var body: some View {
        NavigationView {
            MapView()
        }
    }
}

这是我的MapView.swift文件:

struct MapView: UIViewRepresentable {

    func makeUIView(context: Context) -> MKMapView {
        let mapView = MKMapView(frame: .zero)

        return mapView
    }

    func updateUIView(_ view: MKMapView, context: Context) {
        print("test")
    }

}

使用这些代码行,当我运行应用程序时,它将在控制台中test打印两次。

但是当我更改ContentView并在其中隐藏NavigationView时,是这样的:

struct ContentView: View {
    var body: some View {
        // NavigationView {
            MapView()
        // }
    }
}

现在它在控制台中打印一个test

实际上,这意味着当我们将NavigationViewUIViewRepresentable一起使用时,它会调用两次updateUIView函数,这似乎是错误的。

我们如何处理呢?

0 个答案:

没有答案