相关疑难解决方法(0)

在主(ContentView)SwiftUI视图中以UIViewRepresentable的形式访问MKMapView元素

我正在使用SwiftUI显示地图,如果用户点击了注释,它将在VStack中弹出详细视图。我已经制作了地图视图,并在另一个SwiftUI文件中插入了注释。我还做了详细视图。

如何在主视图文件中访问该地图的注释,以定义一个.tapaction,以便他们将其用于详细视图?

我尝试将视图定义为MKMapView,但无法在另一个SwiftUI视图中为UIViewRepresentable做到这一点。

主视图(ContentView)代码为:

struct ContentView: View {
    @State private var chosen = false

    var body: some View {

        VStack {
            MapView()
            .edgesIgnoringSafeArea(.top)
            .frame(height: chosen ? 600:nil)
            .tapAction {
            withAnimation{ self.chosen.toggle()}
            }

    if chosen {
        ExtractedView()
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MapView代码为:

struct MapView : UIViewRepresentable {
    @State private var userLocationIsEnabled = false
    var locationManager = CLLocationManager()
    func makeUIView(context: Context) -> MKMapView {
    MKMapView(frame: .zero)

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

        view.showsUserLocation = true

        .
        .
        .

            let sampleCoordinates …
Run Code Online (Sandbox Code Playgroud)

mapkit swift swiftui xcode11

4
推荐指数
1
解决办法
2045
查看次数

SwiftUI中的多组件选择器(UIPickerView)

我试图在SwiftUI应用程序中添加三成分选择器(UIPickerView)(在传统的UIKit应用程序中,数据源3将从该numberOfComponents方法返回),但是我在任何地方都找不到此示例。

我曾尝试添加一个由三个单一组件选择器组成的HStack,但是如果它们全部都属于一个选择器,则其透视图将与之不同。

picker uipickerview swift swiftui

4
推荐指数
4
解决办法
1536
查看次数

标签 统计

swift ×2

swiftui ×2

mapkit ×1

picker ×1

uipickerview ×1

xcode11 ×1