SwiftUI中sheet弹出嵌在NavigationView中的子视图无法用presentationMode关闭(dismiss)弹出视图的解决

Posted 大熊猫侯佩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI中sheet弹出嵌在NavigationView中的子视图无法用presentationMode关闭(dismiss)弹出视图的解决相关的知识,希望对你有一定的参考价值。



问题现象

我们知道在SwiftUI中,可以用环境变量presentationMode来关闭 sheet 弹出的视图,而且presentationMode可以在任何嵌入的子视图中完成关闭功能。

但是如果Sheet弹出的视图嵌在NavigationView中,上述关闭方法就会变的无效了。

如上所示,我们在任意层级的子视图中关闭了Sheet弹出的视图,即使弹出的视图嵌在NavigationView中也没问题。

如何做到呢?其实非常简单哦

以上是关于SwiftUI中sheet弹出嵌在NavigationView中的子视图无法用presentationMode关闭(dismiss)弹出视图的解决的主要内容,如果未能解决你的问题,请参考以下文章

iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案

iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案

iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案

SwiftUI禁止用户关闭sheet弹出视图在iOS14.6+失效的巧妙解决

SwiftUI禁止用户关闭sheet弹出视图在iOS14.6+失效的巧妙解决

iOS 16 修改第三方库实现监听 SwiftUI 中 sheet 弹出视图的下滑关闭动作