iOS 16.2 在 SwiftUI 子视图中无法关闭弹出的(sheet)导航视图(NavigationView)之解决

Posted 大熊猫侯佩

tags:

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

问题现象

ios 16.2 中,若在 SwiftUI 4.0 里弹出(sheet)一个导航视图 A,则不能在 A 的子视图中将 A 关闭(dismiss):

如上图所示:上面的按钮直接放在导航视图 A 中,点击它可以直接关闭 A;而下面的按钮放在一个子视图中,点击它想要关闭 A 却没有任何反应。

那么,该如何解决这个问题呢?其实很简单!

且看分解,Let’s go!!!

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

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

在 SwiftUI 中拥抱子视图

SwiftUI 将数据传递给子视图

SwiftUI导航至子视图后状态改变导致导航栈提前弹出的原因及解决

SwiftUI导航至子视图后状态改变导致导航栈提前弹出的原因及解决

如何让 SwiftUI Picker 在子视图中工作? (变灰)