簡體   English   中英

如何在 SwiftUI 中正確呈現彈出視圖(不是作為表格)?

[英]How to properly present a popup view in SwiftUI (not as a sheet)?

我想在我的 iOS 應用程序中顯示一個彈出窗口 Slider。 我目前正在使用這樣的疊加層:

.overlay(
    HStack {
        if isEditingValue {
            Slider(value: $valueToEdit)
                .offset(y: 90)
        }
    }
)

問題是帶有.overlay的視圖之后的任何內容都將繪制在 slider 的頂部,該 slider 已用.offset向下移動,以免模糊要編輯的值。

我怎樣才能讓彈出窗口 Slider 顯示在與它將編輯的視圖正確相關的所有其他內容之上? 當彈出 Slider 可見時,我目前將所有內容隱藏在要編輯的值之下,這不是最佳的。

在一個視圖層次結構中,這可以通過zIndex來解決,例如

TargetView()
.overlay(
    HStack {
        if isEditingValue {
            Slider(value: $valueToEdit)
                .offset(y: 90)
        }
    }
)
.zIndex(1) // default is 0, so others will be below
//.zIndex(isEditingValue ? 1 : 0)    // as variant

// ... other sibling views

如果視圖層次結構復雜,則使用 slider 的視圖可能會與來自不同視圖層次結構的視圖重疊,這種情況不能僅通過布局修改器解決,需要在應用程序 UI 設計的全局級別解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM