繁体   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