簡體   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