繁体   English   中英

如何将 SwiftUI 视图放置在 UIKit (UIViewRepresentable) 视图之上? (错误或错误?)

[英]How to place a SwiftUI view on top of a UIKit (UIViewRepresentable) view? (bug or mistake?)

我有一个 SwiftUI 项目。 我想要一个 MKMapView,顶部有一些 SwiftUI 按钮。

所以我定义了一个符合 UIViewRepresentable 协议的 MapView 结构。 在我的 ContentView 中,我有以下内容:

ZStack {
  MapView() {}

  Button() {}
}

我的期望是将 Button 放在 MapView 的顶部,但是行为非常奇怪。 它确实在顶部绘制了 SwiftUI 按钮,但例如点击手势并没有像我预期的那样在 SwiftUI 按钮上停止。 它通过 MapView。

Debug View Hierarchy 在 SwiftUI 按钮顶部显示 MapView。 在此处输入图像描述

我尝试了很多事情:在所有视图上手动设置.zIndex。 布局优先。 覆盖而不是 ZStack。 但是 MapView 总是在顶部。 无论我尝试什么,我都无法获得我想要的行为......这可能是 SwiftUI 错误,还是我遗漏了什么?

该项目可以在这里找到: https://github.com/leontedev/Locally

好的....我已经确定了问题...这是导致此问题的 SwiftUI 按钮上的 the.shadow(radius: 6) 修饰符。 这很奇怪......但至少我发现了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM