我有一个 SwiftUI 项目。我想要一个顶部有一些 SwiftUI 按钮的 MKMapView。
所以我定义了一个符合 UIViewRepresentable 协议(protocol)的 MapView 结构。在我的 ContentView 中,我有以下内容:
ZStack {
MapView() {}
Button() {}
}
我的期望是将 Button 放置在 MapView 的顶部,但是这种行为非常奇怪。 它确实在顶部绘制了 SwiftUI 按钮,但是例如点击手势并没有像我预期的那样停在 SwiftUI 按钮上。它传递到 MapView。
Debug View Hierarchy 显示 SwiftUI 按钮顶部的 MapView。
我尝试了很多方法:在所有 View 上手动设置 .zIndex。布局优先级。 Overlay 代替 ZStack。但 MapView 始终位于顶部。无论我尝试什么,我都无法获得我想要的行为...这可能是 SwiftUI 错误,还是我遗漏了什么?
该项目可以在这里找到:https://github.com/leontedev/Locally
最佳答案
好的......我已经确定了问题......它是导致此问题的 SwiftUI 按钮上的 .shadow(radius: 6) 修饰符。这很奇怪……但嘿,至少我找到了问题所在。
关于ios - 如何将 SwiftUI View 放置在 UIKit (UIViewRepresentable) View 之上? (错误或错误?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58914946/