我正在尝试在SwiftUI中添加全屏视图。这样做的目的是为了有一个“阴影”,这将使屏幕变暗,并将焦点带到一个自定义的弹出窗口,禁用背景中的内容。下面是一个可视化示例:
我尝试添加这个阴影的视图嵌入在一个复杂的NavigationView堆栈中(几层深,通过NavigationLink
访问),并且还有一个可见的TabBar。到目前为止,我已经尝试将NavigationView
嵌入到ZStack
中,并在顶部添加Rectangle()
,但无济于事,NavigationBar和TabBar仍然位于此视图的顶部。我也试过使用.zIndex()
修饰符,但这似乎没有做任何事情。
任何帮助都非常感谢,
谢谢
3条答案
按热度按时间7eumitmz1#
你不需要在zIndex上工作,因为你覆盖了所有屏幕!即使你不需要禁用您的当前视图使用弹出窗口的工作,因为再次弹出窗口已经在顶层。zIndex在你没有覆盖屏幕的时候会很有帮助,这里有一个方法:
gdx19jrr2#
这就是我的想法。
然后只需设置
showingShade = true
,当你想要的阴影出现。使用与PopUp相同的var可能是个好主意。要禁用视图,可以在要禁用的特定视图上使用
.disabled()
修饰符。8nuwlpux3#
对SwiftUI来说相当陌生,但我能够使用视图修饰符实现上述解决方案
并像这样使用它:
似乎为我掩盖了导航栏/项目